2014-05-14 57 views
8

我有一個包含兩個表的數據集。我想從第二個表中獲取第一列的值並將其初始化爲一個int變量。
該列的名稱是CONTACT_ID從數據集中的表中返回列值

我試過這樣。

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

但它顯示了一個錯誤:

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

誰能幫助我,請

+0

它的一個簡單的例子:http://sforsuresh.in/c-getting-column-name-dataset/ –

回答

18

dsDiscounts.Tables[1].Columns[0]回報列定義(數據類型,字幕等由DataColumn實例定義)。當然,列定義轉換爲整數失敗。

你需要的是某個表格行的單元格值(假設第一行)。您應該使用Rows集合來訪問表格行。在您索引DataRow後,您可以訪問行by indexcolumn name,列對象等中的單元格。按列名獲得第一行的單元格值:

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

試試這個

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