当我在数据库中运行查询并用load方法填充数据表时,第一个列名带有表的name.column名(Employee.Name,sal,location),其余的列名只出现在database.Why表名中,并附加第一个列名,同时显示在数据表结构中,请在这方面帮助我。
DataTable table = new DataTable();
try
{
using (IDbCommand DbCommand = dbConnection.CreateCommand())
{
DbCommand.CommandText = query;
IDataReader reader = DbCommand.ExecuteReader();
table.Load(reader);
}
}示例查询Select Employee.Numnber, Employee.salary, Employee.city,dept.deptId from Employee inner join dept where deptiId=EmployeeDeptId
实际的查询是:
Select
AP_LINE.LINE_NO, AP_LINE.PRODUCT, AP_LINE.QTY, AP_LINE.REQUESTED_DATE,
AP_LINE.LIST_PRICE, AP_LINE.CONS_NET_MULT,AP_LINE.NETADDERS,
AP_LINE.CONS_NET_PRICE, AP_LINE.Details,TDP_JSP.ID, TDP_JSP.LINE_NO,
TDP_JSP_AppInfo.Id
From AP_LINE, CONFIG, TDP_JSP
inner join TDP_JSP_AppInfo on TDP_JSP.ID= TDP_JSP_AppInfo.ID
where AP_LINE.LINE_NO = TDP_JSP.LINE_NO ;输出输入数据表如下所示
Ap_Line.Line_No,Product,QTY,Requested Date...发布于 2020-03-06 21:41:28
查询中有两个LINE_NO列:AP_LINE.LINE_NO和TDP_JSP.LINE_NO。列必须有唯一的名称,因此DataTable.Load在需要的地方使用由两部分组成的名称。它不可能开始添加索引,甚至不可能生成Column0、Column1等名称。
但在这种情况下,不需要这些列中的一列。这两个表连接这些列。WHERE AP_LINE.LINE_NO = TDP_JSP.LINE_NO是老式的、不受欢迎的连接语法。这两列将始终具有相同的数据,因此可以删除其中一列。
https://stackoverflow.com/questions/60564649
复制相似问题