2015-04-12 104 views
0

da.fill(ds)正在给我一个在System.Data.dll中发生的'System.InvalidOperationException'类型的未处理异常在System.Data.dll中发生类型'System.InvalidOperationException'的未处理异常430

我不是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

之前,你是否同意,当你调用da.Fill(DS) - ds是空的。 – Mathemats

回答

0
da.SelectCommand = cmd; 

da.Fill(ds);

相关问题