谁帮我看下这段代码,为什么不能更新
代码:
public static bool Order_Require(Int32 requireID, Int32 teacherID)
{
string strConn, strSql;
bool flag = false;
strConn = ConfigurationManager.ConnectionStrings["HomeTeachingString"].ConnectionString;
strSql = "select require.teacherID from require where requireID = "+requireID.ToString() ;
SqlDataAdapter da = new SqlDataAdapter(strSql, strConn);
// da.TableMappings.Add("Table", "RequireTable");
DataTable tb1 = new DataTable("require");
da.Fill(tb1);
DataRow row = tb1.Rows[0];
if (row.IsNull("teacherID"))
{
row["teacherID"] = teacherID.ToString();
da.Update(tb1);
flag = true;
}
return flag;
}这是一个按钮单击事件,实现预约功能。每次运行都提示:
传递具有已修改行的 DataRow 集合时,更新要求有效的 UpdateCommand。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
当传递具有已修改行的 DataRow 集合时,更新要求有效的 UpdateCommand。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: 当传递具有已修改行的 DataRow 集合时,更新要求有效的 UpdateCommand。
源错误:
行 147: {
行 148: row["teacherID"] = teacherID.ToString();
行 149: da.Update(tb1);
行 150: flag = true;
行 151: }
源文件: e:\VCJOB\HomeTeachingWork\HomeTeaching\App_Code\Teacher.cs 行: 149
其中 teacherID和requireId我是这样提供的:
int requireID = 8;
int teacherID = 5;