Boa*_*rdy 3 c# mysql progress dataset
我目前正在使用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();
}
Run Code Online (Sandbox Code Playgroud)
我知道我将不得不像后台工作人员一样将这部分代码放入线程中,但是如何更改此代码以显示进度。
这个答案可能来得有点晚,但也许对其他人有帮助。
在许多情况下,足以显示到目前为止已读取的记录数。这可以通过处理DataTable.RowChanged事件来完成。从测试实现中,我可以验证该事件是否针对DataAdapter.Fill-Method添加的每一行触发。处理事件时,可以通过查看DataTable.Rows.Count-Property来获取读取的数字记录。
我通常要做的是在后台线程中读取数据,该线程会更新标签或列表框条目。实际更新gui的方法将对标签的更新进行缓冲,以便gui更改仅每秒发生一次,以防止闪烁。
希望这可以帮助。
萨沙
| 归档时间: |
|
| 查看次数: |
5983 次 |
| 最近记录: |