我目前正在使用C#和MySQL数据库后端开发应用程序.
我的程序最终可能会从数据库中加载大量数据,并添加到要在DataGridView中显示的数据集中.我希望能够显示填充数据集的进度,但是不确定如何获取对它在数据库中位置的引用.
下面是我目前拥有的代码.
DatabaseWork dbase = new DatabaseWork();
try
{
dbase.openConnection();
MySqlDataAdapter myDA = new MySqlDataAdapter();
myDA.SelectCommand = new MySqlCommand(query, dbase.conn);
DataTable table = new DataTable();
myDA.Fill(table);
BindingSource bSource = new BindingSource();
bSource.DataSource = table;
tblDetails.DataSource = bSource;
//tblGrid.Columns[0].Visible = false;
}
catch (MySqlException ex)
{
dbase.displayError(ex.Message, ex.Number);
}
finally
{
dbase.closeConnection();
}
我知道我将不得不像后台工作人员一样将这部分代码放入线程中,但是如何更改此代码以显示进度.
解决方法:
我会与Stecya一起评论将工具进度条作为选框进度条.
为了能够更新数据集填充的进度条,您必须事先知道有多少条记录,然后继续执行诸如包装dataAdapter之类的操作,以了解它已将多少条记录放入数据集中,我并不完全确定你能做到.
如果绑定数据源也要花费大量时间,那么我将在状态框和选取框之间显示一条状态消息,并使用“检索记录”进行更新,然后使用“呈现记录”进行更新.