如何使用数据集更新两个联接的SQL表?

时间:2019-02-10 18:42:32

标签: c# join dataset

我有一个简单的SQL表,并且找到了一个很好的示例,该示例仅使用几行代码即可创建数据集并更新数据。像这样:

        adap = new SqlDataAdapter("select groupId, groupDescr from MachineGroups", conn);
        ds = new DataSet();
        scrTable = "MachineGroups";
        adap.Fill(ds, scrTable);
        dataGridView.DataSource = ds.Tables[0];

更新dataGrid并保存...

        try
        {
            updateCmd = new SqlCommandBuilder(adap);
            adap.Update(ds, scrTable);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }

这是完美的工作。但是,如果我有一个只包含来自两个单独表的ID的表,该怎么办...

比方说,第一个表格包含具有ID的人,另一个表格包含具有ID的书。第三个表名为PersonBooks。它包含个人ID和书籍ID,一个人可以拥有多本书。到目前为止,还没有火箭科学。

如何构建一个包含人员ID,人员名称,书籍ID,书籍名称的数据集,以便我可以将它们放入DataGridView并保存类似于上一个示例的数据?

我当然可以通过删除此人的所有行,然后再次插入所有行来做到这一点。

当然,我需要验证新行是否具有有效的图书ID等,但这不是重点。

0 个答案:

没有答案