2017-08-29 110 views
-4
private void button2_Click(object sender, EventArgs e){ 
    sqlCon.Open(); 
    String Name = textBox1.Text; 
    String password=textBox2.Text; 

    SqlCommand check = new SqlCommand("SELECT r.RoleName FROM Role r WHERE RoleID ID(SELECT s.RoleID FROM Tbl_Registration s WHERE [email protected] AND [email protected])", sqlCon); 

    check.Parameters.AddWithValue("@Name", Name); 
    check.Parameters.AddWithValue("@pass", password); 

    SqlDataReader rd = check.ExecuteReader(); 
    string Role = ""; 
    if (rd.HasRows) 
    { 
     while (rd.Read()) 
     { 
      if (rd["RoleName"] != DBNull.Value) 
      { 
       Role = rd["RoleName"].ToString(); 
      } 
     } 
    } 
    if (Role == "Admin") 
    { Ship_Management a = new Ship_Management(); 
     a.Show(); 
    } 
    else if (Role == "User") 
    { 
     Ship_Management b = new Ship_Management(); 
     b.Show(); 
    } 
    else if (Role == "Guest") 
    { 
     Ship_Management d = new Ship_Management(); 
     d.Show(); 
    } 
    else 
    { 
     MessageBox.Show("You are not a autorized User"); 
    } 

    sqlCon.Close(); 
} 
+1

你的问题到底是什么? – waka

+0

SqlDataReader rd = check.ExecuteReader(); string Role =“”; – Tariq

+0

你忘了这个问题吗? – Danieboy

回答

0

我认为这只是一个错字。 ID - > IN。

SqlCommand check = new SqlCommand("SELECT r.RoleName FROM Role r WHERE RoleID IN (SELECT s.RoleID FROM Tbl_Registration s WHERE [email protected] AND [email protected])", sqlCon);