2017-11-03 99 views
0

我有一個項目,我正在爲一項任務工作,並且我有一個使用ASP.NET和SQL Server的問題。我有一個有用的登錄頁面,但有兩個表格需要從用戶(subscribers)和管理頁面獲取數據,但我不確定如何訪問它們,因爲我只能訪問它們。如何使用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

如果架構是相同的,你不希望有兩個CMD例如,您可以選擇「聯合」。 –

回答

1

「管理員部分」導致您僅從admin表中獲取記錄,因爲您正在銷燬並重新創建您的SqlCommand對象。您需要在不同的變量中創建一個新的命令並分別讀取它。有多種方法可以在同一個調用中獲得多個記錄集,但在這種情況下我不推薦它。

這樣做通常我希望看到一個用戶表的權限/角色授予其他地方。考慮類似的開箱即用ASP.NET成員資格提供照顧這些實施細節你:

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

相關問題