2013-04-23 3 views
2

В моем приложении я получаю данные из локального файла базы данных MS Access. Я озадачен спорадической проблемой, когда мой запрос для всех записей конкретной таблицы иногда возвращает все записи и иногда возвращает все, кроме последней записи. Я использую следующий кодOleDbDataAdapter Sporadic Missing Records

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? Спасибо

+0

У вас есть .mdb-файл, открытый в другом приложении (например, в Access), когда возникает эта проблема? –

+0

Нет, я уверен, что файл .mdb, к сожалению, не открыт ни в каких других приложениях. – DaveH

ответ

0

Любые ... предложения или способ подтверждения того, что все записи были успешно скопированы в DataTable?

Один из способов сделать это было бы выполнить SELECT COUNT(*) AS n FROM Personnel, и сравнить это число (при условии, что вы получите его обратно) с количеством строк в DataTable после того, как заполняется.

+0

Спасибо, Горд, я буду использовать это как резервную проверку, пока не узнаю, что такое проблема с корнем. – DaveH

Смежные вопросы