通过ODBC从Access查询中缺少行

时间:2016-09-08 13:31:17

标签: c# ms-access odbc

我正在尝试将存储在.mdb Access文件中的查询中的一些行放入c#中的DataSet中。这一直没有任何问题。 [查询本身(SOME_QUERY_ON_FILE_MDB)是存储在同一Access DB中的其他查询和表的连接和联合的结果。

var conn = new OdbcConnection("Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\Temp\Report.mdb;Uid=Admin;Pwd=;");
conn.Open();

var command = new OdbcCommand(" SELECT * FROM SOME_QUERY_ON_FILE_MDB", conn);
command.CommandType = CommandType.Text;

OdbcDataAdapter dataAdapter = new OdbcDataAdapter(command);

DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);

conn.Close();
conn.Dispose();

当我运行此代码时,我在Dataset.Tables[0]中获得了25行。但是,如果我在MS Access中打开.mdb文件,则有26行!

此外,如果我调试并逐步执行此代码,或者如果我在打开连接之间和获取行之间使线程休眠几毫秒,则会正确检索所有26行。

这里有什么问题?当我执行Select时,似乎查询结果还没有准备好 是否有一些干净的方法来避免这种情况?

0 个答案:

没有答案