Jak*_*ake 6 c# dataset dataadapter
我从许多地方读过,可以使用DataAdapter使用多个表填充DataSet.它也没有说明单个Update调用是否可以更新DataSet中的所有表.
有人可以帮我弄清楚如何做到这一点?
似乎除了在第二次填充之前更改DataAdapter上的SelectCommand的示例之外,没有任何(我尝试在线查找)示例.但我觉得这种方法违背了DataAdapter的目的.
从我的数据来看,也许单个DataAdapter只能处理单个数据库表,而Update只能在该表上运行.因此,多表DataSet将要求各自的DataAdapter调用其Update以完全更新DataSet.是这样的吗?
最后,外键关系和约束会自动保存在DataSet(级联删除,级联更新)中吗?
也许链接到示例或教程可能会有所帮助.非常感谢!
可能这些文章会有所帮助:
以下官方文章也非常有用的信息:
请查看上一篇文章中的"从多个DataAdapter填充数据集"部分.
是的,单个适配器适用于单个表.但是
您可以使用使用表适配器管理器一次保存所有,表适配器管理器可以有许多单独的适配器,您可以为所有人调用保存.喜欢,所以不需要多次调用保存也有其他功能.
public void SaveWithManager()
{
DataSet1TableAdapters.TableAdapterManager mgr1 = new DataSet1TableAdapters.TableAdapterManager();
DataSet1TableAdapters.Table1TableAdapter taTbl1 = new DataSet1TableAdapters.Table1TableAdapter();
DataSet1TableAdapters.Table2TableAdapter taTbl2 = new DataSet1TableAdapters.Table2TableAdapter();
mgr1.Table1TableAdapter = taTbl1;
mgr1.Table2TableAdapter = taTbl2;
mgr1.UpdateOrder = DataSet1TableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
mgr1.UpdateAll(your dataset);
Run Code Online (Sandbox Code Playgroud)
}
最后,在数据集中处理级联更新删除.您可以查看关系的属性和级联的各种选项.(类型化数据集)