da.fill(ds)给了我一个未处理的类型' System.InvalidOperationException'发生在System.Data.dll
中我不能100%确定为什么会出现此错误,但我知道在尝试此登录代码后出现此错误。
using (SqlConnection con = new SqlConnection("Data Source=c:\\RegistrationMDB.accdb"))
{
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand("SELECT ID, PASSWORD FROM Students WHERE ID = @ID OR PASSWORD = @PASSWORD", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@ID", SqlDbType.VarChar).Value = id;
cmd.Parameters.Add("@PASSWORD", SqlDbType.VarChar).Value = pw;
da.Fill(ds);
foreach (DataRow dr in ds.Tables[0].Rows)
{
iD = (dr["@ID"].ToString());
password = dr["@PASSWORD"].ToString();
}
if (iD == id && password == pw)
{
return true;
}
else
{
LogNotification = "ID/Password is incorrect";
return false;
}
}
}
答案 0 :(得分:0)
da.SelectCommand = cmd;
在da.Fill(ds);
之前