Ead*_*del 3 .net c# sql-server ado.net sqldatareader
想象一下,我们在数据库中有两个表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'作为'运算符?
McG*_*gle 11
您始终可以明确选择列并将其别名:
SELECT user.id AS user_id, user.*, role.id AS role_id, role.*
FROM [user]
INNER JOIN role ON [user].id_role = role.id
WHERE login = @login
Run Code Online (Sandbox Code Playgroud)
然后用reader["user_id"]和选择它们reader["role_id"].
| 归档时间: |
|
| 查看次数: |
7173 次 |
| 最近记录: |