想象一下,我们在数据库中有两个表user(FK id_role)和role(PK角色).我们需要阅读有关用户及其权限的信息.
我使用以下SQL语句来执行查询:
SELECT *
FROM [user]
INNER JOIN role ON [user].id_role = role.id
WHERE login = @login
Run Code Online (Sandbox Code Playgroud)
执行后,我尝试使用字符串索引器读取读取器中的值:reader[string name].
这是我需要解决的问题是重复的名字:既user和role包含,例如现场id,对此我能够读取用户(使用reader["id"]),但无法读取角色(使用reader["role.id"]).
该属性FieldCount返回12,这意味着读取了所有必填字段(user包含6个字段,也是如此role).
在这种情况下,我是否有可能按名称读取列?或者以唯一的方式使用两个查询或SQL'作为'运算符?