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