2016-03-20 17 views
1

Ich habe Datentabelle mit 100000 Datensätze, ich möchte durch Datentabelle für jede 10.000 Datensätze durchlaufen Ich möchte die Datensätze speichern. für die nächste Iteration die nächsten 10000 Datensätze, die ich bis 100000 Datensätze speichern möchte.Wie durch Datentabelle iterieren

DataTable dt = new DataTable(); 

dt = ds.tables[0]; //here i am getting 100,000 records 

for (int i = 0; i < dt.rows.count; i + 10000) 
{ 
    savedatatable(dt[i]); 
} 

Antwort

1

sollte wie folgt sein:

for (int i = 0; i < dt.Rows.Count; i+=10000) 
{ 
    DataRow dr = dt.Rows[i]; 
    // do something 
} 
+0

Der erste Kommentar ist unnötig, da Sie den Wert von "i" bereits mit "i J3soon

+0

@ J3soon, nur wenn Sie sicher sind, dass Ihre Zeilen% 10000 = 0 zählen. Andernfalls kann Ihr Index außerhalb des Bereichs liegen. – AsfK

+0

Da das 'i + = 10000' nach dem' body' benannt wird, ist es in Ordnung, das 'i J3soon

0

Sie sollten den folgenden Code verwenden:

DataTable dt = new DataTable(); 

dt = ds.tables[0]; //here i am getting 100,000 records 

//Loop through columns in rows 
for (int i = 0; i < dt.rows.count && i < 100000; i += 10000) 
{ 
    foreach (DataColumn col in dt.Columns) 
     savedatatable(dt.Rows[col.ColumnName].ToString()); 
} 

oder

DataTable dt = new DataTable(); 

dt = ds.tables[0]; //here i am getting 100,000 records 

//Loop through rows in columns 
foreach (DataColumn col in dt.Columns) 
{ 
    for (int i = 0; i < dt.rows.count && i < 100000; i += 10000) 
     savedatatable(dt.Rows[col.ColumnName].ToString()); 
} 

Hier ist eine ähnliche Frage, aber ich Ich bin mir nicht sicher, ob Sie das gewollt haben. : Looping through a DataTable