2010-04-24 2 views
0

Я читаю мой DataTable следующим образом:Read DataTable по RowState

foreach (DataRow o_DataRow in vco_DataTable.Rows) 
{ 
//Insert More Here 
} 

It аварии; потому что я вставляю больше записей.

Как я могу прочитать свой DataTable без чтения новых записей? Могу ли я читать RowState?

Благодаря

+1

Что применения вы используете? Какой язык? – Nifle

+0

Я голосую, что это перемещается в Stack Overflow. Чтобы получить вопрос, вам не нужно ничего делать, кроме связанного аккаунта. Вы можете создавать и связывать аккаунты позже. – ChrisF

+0

@RBrattas, пожалуйста, связывайте свои учетные записи по адресу http://stackoverflow.com/users/270429?tab=accounts, которые помогут вам, если вопрос автоматически переместится в Stack Overflow. – Arjan

ответ

0

Поскольку я не знаю, какой язык вы используете, я могу дать только общие рекомендации.

В большинстве языков (все?) Невозможно сделать foreach над коллекцией, если вы изменяете коллекцию. Существует два распространенных способа борьбы с этим.

Дикий осел код угадывание псевдо следующим образом:

// first way uses array notation (if possible) 
var no_of_rows = vco_DataTable.Rows.count(); 
for(var i = 0; i < no_of_rows; i++) { 
    DataRow o_DataRow = vco_DataTable.Rows[i]; 
    //Insert More Here 
} 

// The second way copies the data 
var my_copy = vco_DataTable.Copy() 
foreach (DataRow o_DataRow in my_copy.Rows) 
{ 
    //Insert More into vco_DataTable Here 
} 
copy.Dispose() // delete/destroy the copy 
+0

Ницца! Спасибо! – 2010-04-24 20:40:53

+0

DataTable o_DataTable_ReadOnly = vco_DataTable.Copy(); foreach (DataRow o_DataRow в o_DataTable_ReadOnly.Rows) { // Вставить больше в vco_DataTable здесь } – 2010-04-24 20:49:37

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