小编Arn*_*oid的帖子

如何让OleDb代码运行异步?

我在尝试进行Web下载/阅读时看到了很多异步的例子.但是我找不到OleDb的样本或任何东西(或者有更好的等价物吗?),我想使用C#5.0的新的和简化的Async和Await功能.

这只是我现在如何使用OleDb的一个例子:

public void insertTafelloc(int tafelnr, string datum, string tijd)
{
tafelsupdate = false;
try
{
    db.cmd.Connection = db.connection;
    db.connection.Open();
    db.cmd.CommandText = "SELECT * FROM tafels WHERE tafelnr = ? AND datum = ?";
    db.cmd.Parameters.Add(new OleDbParameter("1", tafelnr));
    db.cmd.Parameters.Add(new OleDbParameter("2", datum));
    OleDbDataReader dataReader;
    dataReader = db.cmd.ExecuteReader(CommandBehavior.CloseConnection);
    while (dataReader.Read())
    {
        if (dataReader["tafelnr"].ToString() != "")
        {
            tafelsupdate = true;
        }
    }
    dataReader.Close();
    db.cmd.Parameters.Clear();
    db.connection.Close();
}
catch (Exception ex) { MessageBox.Show(ex.Message); }
}
Run Code Online (Sandbox Code Playgroud)

我会根据请求多次运行一些数据读取器,并且在表单上显示新结果之前需要花费很长时间.此外,我正在使用OleDb访问Access数据库.

c# oledb asynchronous oledbdatareader async-await

3
推荐指数
1
解决办法
1904
查看次数

标签 统计

async-await ×1

asynchronous ×1

c# ×1

oledb ×1

oledbdatareader ×1