[英]How to get value of second column, that is the same name with another column in dataTable by C#
我有一個從SQL Server中調用存儲過程得到的dataTable,它具有2列具有相同名稱的名稱:NAME_PROJECT
示例:此查詢的結果:
SELECT
NAME_PROJECT,
DATE,
...
NAME_PROJECT,
...
FROM
TABLE_A
這是我在C#中的代碼,它始終獲得第一列的值:
dataTable.Rows[i].Field<string>("NAME_PROJECT")
由於某種原因,我無法從SQL更改KEY“ NAME_PROJECT”來避免使用相同的名稱列。
如何獲得此問題中第二個NAME_PROJECT列的值?
謝謝!
Field
也過載以接受列索引,在這種情況下,您可以使用傳遞索引。
dataTable.Rows[i].Field<string>(2);
更新:
由於您想在列名重復時使用第二列,因此建議這樣做。
var column = dataTable.Columns
.OfType<DataColumn>()
.LastOrDefault(x=> x.ColumnName == "columnname");
if(column != null)
{
dataTable.Rows[i].Field<string>(column);
}
您可以為查詢中的重復列名之一加別名,以使存儲過程返回的結果集不會出現重復列名的問題
一種解決方案是使用索引選擇所需的列。
string Second_Name_Porject = dataTable.Rows[i].ItemArray[2];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.