sqldatareader与登录(无效的对象名称角色)
问题描述:
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();
}
答
我认为这只是一个错字。 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);
你的问题到底是什么? – waka
SqlDataReader rd = check.ExecuteReader(); string Role =“”; – Tariq
你忘了这个问题吗? – Danieboy