数据绑定表参考

时间:2013-01-07 14:52:34

标签: c# asp.net

我有两个表tblCarrier和tblCustomer。两个表都是INNER JOIN,并且具有相同的列名称,即公司名称。问题是当我使用数据绑定过程时

<%#DataBinder.Eval(Container.DataItem, "CompanyName")%>要取回客户公司名称,它会返回运营商公司名称。我从我的查询中注意到,它根据查询语句中的顺序序列获取公司名称。

例如

  

“SELECT   tblCarrier.CarrierID,tblLoadMaster.Salesperson,tblLoadMaster.Status,   tblCarrier.CompanyName,tblCustomer.CompanyName“

此T-SQL声明将带回运营商公司名称,但如果我将tblCustomer.CompanyName放在tblCarrier.CompanyName之前,它将带回客户公司。

是否可以通过数据绑定列来获得基于交叉引用表的结果?

1 个答案:

答案 0 :(得分:2)

您可以为冲突的列名称添加别名

SELECT tblCarrier.CarrierID,tblLoadMaster.Salesperson,tblLoadMaster.Status,  
  tblCarrier.CompanyName as Car_CompanyName, 
  tblCustomer.CompanyName as Cus_CompanyName;

然后在Eval调用中使用别名而不是列名。

<%#DataBinder.Eval(Container.DataItem, "Cus_CompanyName")%>