【问题标题】:OleDbDataAdapter Sporadic Missing RecordsOleDbDataAdapter 零星丢失记录
【发布时间】:2013-04-23 15:35:03
【问题描述】:

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

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 DataTable 时,有时我的记录数是正确的,有时我会丢失 Access 表中的最后一条记录。我无法找到任何关于它何时成功以及何时不成功的模式。知道这可能是什么原因或建议或验证所有记录是否已成功复制到 DataTable 中的方法?谢谢

【问题讨论】:

  • 出现此问题时,您是否在另一个应用程序(例如 Access)中打开了 .mdb 文件?
  • 不,我确定 .mdb 文件没有在任何其他应用程序中打开。

标签: c# ms-access oledb


【解决方案1】:

有什么建议或方法可以验证所有记录是否已成功复制到 DataTable 中?

一种方法是执行SELECT COUNT(*) AS n FROM Personnel,并将该数字(假设您得到一个返回)与DataTable 填充后的行数进行比较。

【讨论】:

  • 感谢 Gord,我会用它作为备份检查,直到找出根本问题所在。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-15
  • 1970-01-01
  • 2017-09-02
  • 2020-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多