在开发基于.NET平台的数据库应用程序时,我们一般都会用到DataSet,作为ADO.NET的核心类它为我们提供了强大的功能,而整个看上去就像是放在内存内的一个小型数据库,内部包括了DataTable、DataView、DataRow、DataColumn、Constraint以及DataRelation。当初看到它时真的是有点兴奋。
下面根据我的一些经验来举例说明在ADO.NET中的多表填充、关联表更新以及多个Command对象执行过程中启用事务的操作。欢迎大家交流,或在Blog上留言。
一、准备工作
对于NorthWind数据库大家都比较熟悉,所以这里拿它为例,我把Customers(客户表)、Orders(订单表)、Order Details(订单详细表)合起来建立了一个类型化的数据集,类型名称为DatasetOrders,每个表只包括一些字段,下面是在Visual Studio .NET中建立的一个截图:
图1-1 |
上面建立了两个关系表示为Customers —> Orders —>Order Details。因为Orders表的OrderID字段为自动增长列,这里把就把它的AutoIncrementSeed和AutoIncrementStep值设置成了-1,这在实际添加订单的过程中可能会比较明显,不过不设也没问题。