2017-11-03 14 views
0

私は割り当て作業中のこのプロジェクトを持っており、ASP.NETとSQL Serverで作業している質問があります。私はちょっとした動作のログインページを持っていますが、ユーザー(subscribers)と管理ページからデータを取得する必要があるテーブルは2つありますが、どちらにもアクセスできる方法は不明です。SQL ServerでASP.NETのSELECT FROMから複数のテーブルにアクセスするには?

public void login(Object src,EventArgs e) 
{ 
    get_connection(); 

    try 
    { 
     connection.Open(); 
     command = new SqlCommand("SELECT * FROM subscribers WHERE Email = @Email AND Password = @Password", connection); 
     command.Parameters.AddWithValue("@Email", loginName.Text); 
     command.Parameters.AddWithValue("@Password", loginPass.Text); 

     //command = new SqlCommand("SELECT * FROM admin WHERE Email [email protected] and Password = @Password", connection); 
     //command.Parameters.AddWithValue("@Email", loginName.Text); 
     //command.Parameters.AddWithValue("@Password", loginPass.Text); 

     reader = command.ExecuteReader(); 

私はそれが含まれている場合のみ、管理者のユーザー名とパスワードが加入者を受け入れられていないので、私は管理者の一部をコメントアウト。これを解決するために私は何をする必要がありますか?

+0

スキーマが同じであり、あなたは2つのCMDのインスタンスを作成したくない場合は、することができます'UNION'はSELECTです。 –

答えて

1

"admin part"は、SqlCommandオブジェクトを破棄して再作成しているため、管理テーブルからレコードを取得するだけです。別の変数で新しいコマンドを作成し、それを別々に読む必要があります。同じ呼び出しで複数のレコードセットを取得する方法がありますが、この場合は推奨しません。

そんなことはありません...通常、私は、権限/ロールを持つ単一のユーザーテーブルが他の場所に与えられていることを期待しています。あなたのためにこれらの実装の詳細の世話をするために箱のASP.NETメンバーシッププロバイダーのうちのようなものを考えてみましょう:

https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-use-the-aspnet-membership-provider

関連する問題