2009-08-07 60 views
1

我有一個SQL SELECT像這樣它會返回一個DataTable:C#DataTable中加入2列同名

select * from table1 a join table2 b on a.id=b.id 

都Table 1和Table有一個名爲列貨號。

我如何參考2個獨立的列?通常我會使用類似於:

datarow["itemno"].ToString(); <=first column named itemno only 
datarow["b.itemno"].ToString(); <= fail 

但是,這似乎只能得到名爲itemno的第一列。
有沒有辦法在不更改我的sql語句的情況下引用名爲itemno的第二列? (我知道我可以更改我的sql語句,取出*並放入列別名)。

回答

3

您可以通過索引引用列,而不是:

datarow[0].ToString(); 

我更喜歡他們走樣雖然是誠實的。

+0

你是對的,那是唯一的選擇。 – Max 2009-08-07 07:48:21

+1

這是隱藏的危險。如果稍後稍後更改查詢,它將開始以不同順序返回列,否則代碼將停止工作。 – 2009-08-07 07:50:31

+0

好點的NewInTown。鋸齒是迄今爲止最好的方式。 – Max 2009-08-07 07:51:36