私は、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); }
}
リクエストに応じて、いくつかのデータ リーダーを次々と実行していますが、新しい結果がフォームに表示されるまでにかなりの時間がかかります。また、OleDb を使用して Access データベースにアクセスしています。