2014-05-14 3 views
8

Ich habe ein Dataset mit zwei Tabellen. Ich möchte den Wert der ersten Spalte aus der zweiten Tabelle abrufen und initialisieren sie auf eine int-Variable.
Der Name dieser Spalte war CONTACT_IDZurückgeben eines Spaltenwerts aus einer Tabelle im Dataset

Ich versuchte es so.

int Contract_id = Convert.ToInt32(dsDiscounts.Tables[1].Columns[0]); 

aber es war ein Fehler zeigt:

Unable to cast object of type 'System.Data.DataColumn' to type 'System.IConvertible'.

mir jemand bitte

(Datentyp, Titel, usw. definiert durch DataColumn Instanz)
+0

Ein einfaches Beispiel dafür: http://sforsuresh.in/c-getting-column-name-dataset/ –

Antwort

18

dsDiscounts.Tables[1].Columns[0] kehrt Spaltendefinition helfen kann. Natürlich schlägt die Umwandlung der Spaltendefinition in Integer fehl.

Was Sie brauchen, ist Zelle Wert aus einer Reihe von Tabelle (erste Zeile annehmen). Sie sollten Rows Sammlung verwenden, um Zugriff auf Tabellenzeilen zu erhalten. Nachdem Sie den Index DataRow angefordert haben, können Sie auf Zellen in Zeile by index, column name, Spaltenobjekt usw. zugreifen. erste Zeile der Zelle Wert von Spaltennamen bekommen:

dsDiscounts.Tables[1].Rows[0]["CONTACT_ID"] 
2

Versuchen Sie, diese

int Contract_id = Convert.ToInt32(dsDiscounts.Tables[1].Rows[0]["CONTACT_ID"]);