簡體   English   中英

C#如何獲取第二列的值,即與dataTable中另一列的名稱相同

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM