2012-04-10 8 views
2

lesen Ich arbeite an Datentabelle in C#. Ich möchte die Daten aus der Datentabelle zeilenweise in ein Array abrufen. Aber ich bekomme eine Ausnahme. Ich möchte die Daten reihenweise lesen.Wie Daten aus der Datentabelle Zeile weise in C#

ich versucht habe,

 System.Data.DataTable _dtDataFile = new System.Data.DataTable(); 
     myCommand.Fill(_dtDataFile); 
     string[] arr1 = new string[3]; 
     _dtDataFile.Rows.CopyTo(arr1,0); 
     Response.Write("DONE" + arr1[0]+ "<BR>" + "<BR>"); 

Ich erhalte ungültig Guss Ausnahme.

Kann jemand helfen, wie es getan werden kann.

Vielen Dank.

+1

denke ich, diese Beiträge haben die Antwort, die Sie für die Suche sind: http://stackoverflow.com/questions/3573618/c-datatable-to-arraylist und http://stackoverflow.com/questions/3910815/from-datatable-to-array-no-loop – Marco

+1

Verwenden Sie Datenreader anstelle von Datensatz –

Antwort

3

Sie versuchen, eine Sammlung mit dem Elementtyp DataRow (DataTable.Rows) in ein Zeichenfolgenarray (string[] arr1) zu kopieren.

Wenn Sie Interesse an einer bestimmten (string) Spalte auf der Datentabelle sind, können Sie den folgenden Code verwenden, um die Werte zu extrahieren:

string[] arr = _dtDataFile.Rows 
    .Cast<DataRow>() 
    .Select(r => Convert.ToString(r["SomeColumnName"])) 
    .ToArray(); 
+1

Tanky you.Its lesen Daten Spalte weise. Kannst du ändern, dass ich alle Daten einer einzelnen Reihe in ein Array bekomme. Dies muss für alle Zeilen als Schleife ausgeführt werden. – Patan

Verwandte Themen