System.Data.dll 中发生类型 'System.InvalidOperationException' 的未处理异常?
An unhandled exception of type 'System.InvalidOperationException' occurred in System.Data.dll?
我收到一个错误,我不知道为什么!
using(SqlConnection sqlcon = new SqlConnection(con))
{
sqlcon.Open();
SqlCommand cmd = new SqlCommand("dbo.workScheduleDataGrid", sqlcon);
cmd = sqlcon.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@worker_id", ids[i].worker_id);
cmd.Parameters.AddWithValue("@day", days[j]);
SqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
MessageBox.Show("full name is: " + reader.GetInt32(1) + " and field of work is: " + reader.GetString(2) + " in day " + days[j]);
}
}
else
{
MessageBox.Show("No data");
}
reader.Close();
}
这里有什么错误知道我以相同的方式使用存储过程没有错误!
你应该或者使用这个方法:
SqlCommand cmd = new SqlCommand("dbo.workScheduleDataGrid", sqlcon);
或这个方法
SqlCommand cmd = sqlcon.CreateCommand();
创建命令,但不是同时创建命令(代码中的第二个赋值会覆盖第一个)。
使用第二个选项,需要指定单独执行的命令:
cmd.CommandText = "dbo.workScheduleDataGrid";
此外,不要忘记处理 cmd 对象,最好使用另一个 using 语句。
我收到一个错误,我不知道为什么!
using(SqlConnection sqlcon = new SqlConnection(con))
{
sqlcon.Open();
SqlCommand cmd = new SqlCommand("dbo.workScheduleDataGrid", sqlcon);
cmd = sqlcon.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@worker_id", ids[i].worker_id);
cmd.Parameters.AddWithValue("@day", days[j]);
SqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
MessageBox.Show("full name is: " + reader.GetInt32(1) + " and field of work is: " + reader.GetString(2) + " in day " + days[j]);
}
}
else
{
MessageBox.Show("No data");
}
reader.Close();
}
这里有什么错误知道我以相同的方式使用存储过程没有错误!
你应该或者使用这个方法:
SqlCommand cmd = new SqlCommand("dbo.workScheduleDataGrid", sqlcon);
或这个方法
SqlCommand cmd = sqlcon.CreateCommand();
创建命令,但不是同时创建命令(代码中的第二个赋值会覆盖第一个)。
使用第二个选项,需要指定单独执行的命令:
cmd.CommandText = "dbo.workScheduleDataGrid";
此外,不要忘记处理 cmd 对象,最好使用另一个 using 语句。