有谁熟悉ADO.NET多线程?一起讨论一下吧!
在一个Form 中,adoConnection, adoDataSetCommand, dataSet, dataGrid 各有一个,另外就是几个用于测试的按钮,函数大致如下:
protected void button2_Click (object sender, System.EventArgs e)
{
this.dataSet1.Customers.Clear();
}
protected void button1_Click (object sender, System.EventArgs e)
{
this.dataThrd = new Thread(new ThreadStart(thrdFillData));
this.dataThrd.Start();
while ((dataThrd.ThreadState &ThreadState.Unstarted) != 0);
}
protected void thrdFillData()
{ this.adoDataSetCommand1.FillDataSet(dataSet1, "Customers");
this.dataGrid1.SetDataBinding(dataSet1,"Customers");
}
可是,只有当我先点 button1,再点button2, 又再点button3 时,dataGrid 控件上才会出现数据库中的数据,总觉得应该是代码中少做了什么事情。
大家有情趣的话,就指点一下啦。