当前位置 : 主页 > 编程语言 > c语言 >

c# – 如何从.NET中具有重复列名的连接表中读取SELECT *的结果

来源:互联网 收集:自由互联 发布时间:2021-06-25
我是一名 PHP / MYSQL开发人员,慢慢地进入C#/ MSSQL领域,当我在阅读连接两个表的MSSQL查询时遇到C#问题. 给出两个表: 表A: int:idVARCHAR(50):nameint:b_id 表B: int:idVARCHAR(50):name 并给出了查询 S
我是一名 PHP / MYSQL开发人员,慢慢地进入C#/ MSSQL领域,当我在阅读连接两个表的MSSQL查询时遇到C#问题.

给出两个表:

表A:

int:id
VARCHAR(50):name
int:b_id

表B:

int:id
VARCHAR(50):name

并给出了查询

SELECT * FROM TableA,TableB WHERE TableA.b_id = TableB.id;

现在在C#中我通常以下列方式读取查询数据:

SqlDataReader data_reader= sql_command.ExecuteReader();
data_reader["Field"];

除了在这种情况下,我需要区别于TableA的名称列和TableB的名称列.

在PHP中,我只是相应地要求字段“TableA.name”或“TableB.name”,但是当我尝试类似的东西时

data_reader["TableB.name"];

在C#中,我的代码错误了.现在我知道这可以通过谷歌搜索或在这个网站上搜索来解决,但我最难找到适当的搜索词找到答案.

那么有人可以指点我的写作方向,或者给我一个关于如何在C#中读取多个表的查询的建议?

结果集仅查看返回的数据/列名称,而不是基础表.将您的查询更改为类似的内容

SELECT TableA.Name as Name_TA, TableB.Name as Name_TB from ...

然后你可以参考这样的字段:

data_reader["Name_TA"];
网友评论