2014-05-14 9 views
8

Ho un set di dati con due tabelle. Desidero ottenere il valore della prima colonna dalla seconda tabella e inizializzarlo su una variabile int.
Il nome di quella colonna era CONTACT_IDRestituzione di un valore di colonna da una tabella dell'insieme di dati

Ho provato così.

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

ma stava mostrando un errore:

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

qualcuno mi può aiutare per favore

+0

Un semplice esempio di esso: http://sforsuresh.in/c-getting-column-name-dataset/ –

risposta

18

dsDiscounts.Tables[1].Columns[0] rendimenti definizione della colonna (tipo di dati, voce, ecc definito da DataColumn esempio). Ovviamente la conversione della definizione della colonna in intero fallisce.

Quello che ti serve è il valore della cella da qualche riga della tabella (si presuma la prima riga). È necessario utilizzare la raccolta Rows per accedere alle righe della tabella. Dopo aver richiesto DataRow dal suo indice, è possibile accedere alle celle nella riga by index, column name, oggetto colonna, ecc. E.g. ottenendo valore di cella prima della riga per nome della colonna:

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

Prova questa

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