2017-11-03 100 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

相关问题