2013-04-23 69 views
2

在我的应用程序中,我从本地MS Access数据库文件中获取一些数据。我对一个零星的问题感到困惑,那就是我对特定表的所有记录的查询有时会返回所有记录,有时会返回除最后一个记录以外的所有记录。我使用下面的代码OleDbDataAdapter零星缺失记录

string resourceConStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data source = C:/FileName.mdb"; 
OleDbConnection resourceCon = new OleDbConnection(resourceConStr); 
OleDbDataAdapter personnelAdapter = new OleDbDataAdapter("Select * From Personnel", resourceCon); 
DataTable personnel = new DataTable(); 
personnelAdapter.Fill(personnel); 

当我看personnel数据表,有时我有正确的记录#,有时我错过从Access表中的最后一个记录。我无法找到任何模式,以及它何时成功,何时不成功。任何想法可能是什么原因或建议或验证所有记录被成功复制到DataTable?谢谢

+0

发生此问题时,您是否在另一个应用程序(例如,Access中)中打开了.mdb文件? – 2013-04-23 20:23:25

+0

不,我确定.mdb文件不幸在任何其他应用程序中打开。 – DaveH 2013-04-23 20:36:28

回答

0

任何建议或验证所有记录已成功复制到DataTable的方法?

一种方式做这将是执行SELECT COUNT(*) AS n FROM Personnel,和比较数(假设你得到一回),与在DataTable行数就得到填补后。

+0

谢谢Gord,我会用它作为备份检查,直到找出根本问题。 – DaveH 2013-04-29 02:59:39