C# 执行查询时窗体冻结
你好 我试图在MySql中查询时添加一个进度条。我检测到表单恰好在数据集开始填充时冻结。我也知道查询很复杂,所以我尝试配置backgroundworker,当它到达填充过程时,表单冻结和进度条在数据集完成填充之前不会工作。如何防止表单冻结或使用backgroundworker使数据集填充工作与进度条异步 我的代码是:C# 执行查询时窗体冻结,c#,mysql,freeze,C#,Mysql,Freeze,你好 我试图在MySql中查询时添加一个进度条。我检测到表单恰好在数据集开始填充时冻结。我也知道查询很复杂,所以我尝试配置backgroundworker,当它到达填充过程时,表单冻结和进度条在数据集完成填充之前不会工作。如何防止表单冻结或使用backgroundworker使数据集填充工作与进度条异步 我的代码是: try { Cursor = Cursors.WaitCursor; MySqlDataAdapter da = new MySqlDataAdapter(SetV
try
{
Cursor = Cursors.WaitCursor;
MySqlDataAdapter da = new MySqlDataAdapter(SetValueForQuery, Conector());
DataSet ds = new DataSet();
**da.Fill(ds); **
SetValueForDataSet = ds;
}
finally
{
Cursor = Cursors.Default;
}
您应该尝试使查询异步 例如:
public void Main(String[] args){
Thread asyncWorker = new Thread(Work); //Creates the Thread
asyncWorker.Start(); //Starts the Thread
Console.ReadKey(); //Makes the Main Thread busy
}
public void Work(){
while(true)
Console.WriteLine("I'm busy");
}
填充需要发生在另一个线程上、使用任务、异步/等待等。。。您正在阻止GUI线程。请异步填充数据集