首页 > 解决方案 > 如何使用数据集更新两个连接的 SQL 表?

问题描述

我有一个简单的 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。它包含person id和book id,一个人可以拥有多本书。到目前为止,还没有火箭科学。

如何构建一个包含 person id、person name、book id、book name 的数据集,以便我可以将它们放入 DataGridView 并保存数据,类似于前面的示例?

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

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

标签: c#joindataset

解决方案


推荐阅读