为什么我需要SqlCommandBuilder来更新数据库中的表?

时间:2017-01-25 10:28:34

标签: c# sql-server sqldataadapter sqlcommandbuilder

我观看了视频教程并重新编程了相同的代码。我注意到一个不明白,为什么我必须使用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什么时候开始行动?

0 个答案:

没有答案