【问题标题】:Form freeze while executing a query执行查询时窗体冻结
【发布时间】: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;
}

【问题讨论】:

标签: c# mysql freeze


【解决方案1】:

您应该尝试使查询异步。

例子:

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");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多