我遇到错误,不知道为什么!
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();
}
知道我使用存储过程的方式相同且没有错误,这是什么错误!
答案 0 :(得分:0)
您应该之一使用此方法:
SqlCommand cmd = new SqlCommand("dbo.workScheduleDataGrid", sqlcon);
或此方法
SqlCommand cmd = sqlcon.CreateCommand();
创建命令,但不能全部创建(代码中的第二个分配将覆盖第一个)。
使用第二个选项,您需要指定要单独执行的命令:
cmd.CommandText = "dbo.workScheduleDataGrid";
此外,最好不要忘记放置cmd对象,最好与另一个using语句一起使用。