【发布时间】:2014-11-27 16:37:33
【问题描述】:
我有我的主窗体,称为 home。
Home 有一个名为“activeuser”的公共变量。 此变量是一个字符串,其中包含用户名,例如“John Smith”。
我的其他表单之一“caseupdate”有一个由计时器触发的后台工作人员。 此后台工作人员检查 MySQL 数据库以查找新记录,特别是“分配”给登录用户的记录。
我认为这很简单,在我的 SQL 语句中,我只是这样做了......
dim currentuser as string = home.activeuser
这根本不起作用,我不知道如何将用户名值输入后台工作人员以使一切正常。
感谢任何帮助! :)
【问题讨论】:
-
首先,您的描述并不完全合理。在 BGW 启动之前,您需要为
DoWork设置一些内容。不,BGW 不能从另一个线程读取 - 它只提供反馈。 -
抱歉,我应该更清楚。 BGW 代码位于 DoWork 位中。我有一个计时器,它检查 bgq 是否忙,如果没有,则运行“CaseListUpdater.RunWorkerAsync()”。那么如何以随机形式从变量中获取信息位到后台工作人员中呢?
-
最好在模块中定义
activeuser:Public activeuser as String,并在登录后进行赋值:activeuser = "John Smith"activeuser在任何形式的项目中可见。 -
“没用”是什么意思?你有错误信息吗?线程与其他线程通信的一种方式是使用事件。
-
所以没有工作我的意思是 SQL 查询没有拉回任何记录,因为它没有'WHERE assignmentto =John Smith',而是'WHERE assignmentto =""'。
标签: vb.net variables backgroundworker