执行查询时冻结表格

问题描述 投票:0回答:1

早安。

我正在尝试在mysql中查询时添加进度条。当数据集开始填充时,我检测到表单完全冻结。我也知道查询很复杂,因此我尝试配置一个背景工作人员,并在到达填充过程时再次配置表单冻结,并且进度条在数据集完成填充之前不起作用。如何防止表单冻结或使用backgroundworker,以便数据集填充与进度条异步工作?我的代码是这样的:

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个回答
0
投票

您应该尝试使查询异步。

示例:

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");
}
© www.soinside.com 2019 - 2024. All rights reserved.