我观看了视频教程并重新编程了相同的代码。我注意到一个不明白,为什么我必须使用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有什么功能吗?
在documentation的评论中,它说:
SqlCommandBuilder将自身注册为RowUpdating事件的侦听器,该事件由此属性中指定的SqlDataAdapter生成。
但是我不明白CommandBuilder什么时候开始行动?