2009-08-07 79 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