0

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

4

0 回答 0