データベースにuser(FK id_role)とrole(PK role)の2つのテーブルがあるとします。ユーザーとその特権に関する情報を読む必要があります。
次のSQLステートメントを使用してクエリを実行します。
SELECT *
FROM [user]
INNER JOIN role ON [user].id_role = role.id
WHERE login = @login
実行後、文字列インデクサーを使用してリーダーで値を読み取ろうとしますreader[string name]。
私が解決する必要のある問題は、名前を繰り返すことです。たとえば、フィールドuserを含みます。これは、ユーザー(を使用して)では読み取ることができますが、ロール(を使用して)では読み取ることができません。roleidreader["id"]reader["role.id"]
プロパティFieldCountは12を返します。これは、すべての必須フィールドが読み取られたことを意味します(user6つのフィールドが含まれているためrole)。
この場合、名前で列を読み取る可能性はありますか?または、2つのクエリまたはSQL'as'演算子を唯一の方法で使用しますか?