【发布时间】:2020-04-08 00:39:45
【问题描述】:
美好的一天。
我正在尝试在MySql 中咨询查询时添加进度条。我检测到表格在DataSet 开始填充时完全冻结。我也知道查询很复杂,所以我尝试配置backgroundworker,当它到达填充过程时,表单冻结和进度条在DataSet 完成填充之前不起作用。如何防止表单冻结或使用backgroundworker 以便DataSet 填充与进度条一起使用async?
我的代码是这样的:
try
{
Cursor = Cursors.WaitCursor;
MySqlDataAdapter da = new MySqlDataAdapter(SetValueForQuery, Conector());
DataSet ds = new DataSet();
**da.Fill(ds); **
SetValueForDataSet = ds;
}
finally
{
Cursor = Cursors.Default;
}
【问题讨论】:
-
填充需要在另一个线程上进行,使用任务、异步/等待等...您正在阻塞 GUI 线程。
-
Fill Dataset Async stackoverflow.com/questions/50208241/fill-dataset-async