我想从我的DataBaseOptions类中的此方法访问我的数据库。我正在使用ASP.NET进行Web开发。SelectCommand.Connection未初始化
每当我运行此方法,在另一个类,我得到以下错误:
SelectCommand.Connection is not initialized
而且它说,错误是线40.这是我的代码:
(将本着“ adapter.Fill(DT);”是40行
private string connectionString = "oop_string"; // Global Variable
private static SqlConnection mycon = new SqlConnection(); // Global Variable
private static SqlCommand mycmd = new SqlCommand(); // Global Variable
public void setupConnection() {
mycon.ConnectionString = ConfigurationManager.ConnectionStrings[connectionString].ToString();
mycmd.Connection = mycon;
}
public bool UserExists(string username, string password) {
setupConnection();
mycmd.CommandText = "SELECT user_id FROM users WHERE user_username = @username AND user_password = @password";
mycmd.Parameters.Add("@username", SqlDbType.VarChar).Value = username;
mycmd.Parameters.Add("@password", SqlDbType.VarChar).Value = password;
DataTable dt = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(mycmd);
adapter.Fill(dt);
if(dt.Rows.Count == 0) {
return false;
} else {
return true;
}
}
public int getUserID(string username, string password) {
setupConnection();
mycmd.CommandText = "SELECT user_id FROM users WHERE user_username = @username AND user_password = @password";
mycmd.Parameters.Add("@username", SqlDbType.VarChar).Value = username;
mycmd.Parameters.Add("@password", SqlDbType.VarChar).Value = password;
SqlDataReader reader = mycmd.ExecuteReader();
if(reader.Read()) {
return Convert.ToInt32(reader["user_id"]);
}
mycon.Close();
return 0;
}
如果我试图把一切从setupConnection();到UserExists()的开始;和getUserID();我得到以下错误:
ConnectionString property has not been initialized.
它现在声称该错误在第51行。“SqlDataReader reader = mycmd.ExecuteReader();”。
我的老师和我都尝试了一切,谷歌,其他同学,老师。我们无法找到解决方案。
确保在setupConnection()方法中添加mycon.Open并添加以下行adapter.SelectCommand.Connection = mycon adapter.Fill(DT)之前;.希望它有帮助 – MMK 2013-04-24 08:06:25