c# - 如何使用数据集更新两个连接的 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# - 检测活动是否从库中运行
- css - 尽管使用了媒体查询,为什么我的网站在移动浏览器中看起来很乱?
- regex - 如何通过 shell 和正则表达式批量重命名这些文件?
- php - PHP CloudFront 代理/通过 API 转发视频流请求
- php - 如何在数据库中的数据更改时刷新特定的 DIV 但不重新加载整个页面?
- c# - 在 Xamarin 表单中,我想在 Xamarin 表单地图上重叠控制中心,但无法在控制中心下展开地图
- python - 无法访问python(tkinter)函数中的图像
- python - 使用 selenium 驱动程序抓取时没有输出文件
- python - (Python)验证和输入适用于二进制,但不适用于其他基数系统
- javascript - 更改尺寸并旋转后更改 div 的字体