我观看了视频教程并重新编写了相同的代码。我注意到一个不明白,为什么我必须使用 SqlCommandBuilder 来更新表。
SqlDataAdapter sda;
SqlCommandBuilder scb;
DataTable dt;
private void button2_Click(object sender, EventArgs e)
{
scb = new SqlCommandBuilder(sda);
sda.Update(dt);
}
我从不使用变量scb。但是,当我注释掉 时scb = new SqlCommandBuilder(sda)
,我会收到一条错误消息:
“System.InvalidOperationException:更新需要有效的更新命令。”
有人能解释一下,CommandBuilder 有什么功能吗?
在文档的注释中它说:
SqlCommandBuilder 将自身注册为由此属性中指定的 SqlDataAdapter 生成的 RowUpdating 事件的侦听器。
但我不明白 CommandBuilder 何时开始行动?