ADO.NET处理还是比较常用的,于是我研究了一下ADO.NET处理,在这里拿出来和大家分享一下,希望对大家有用,看完本文你肯定有不少收获,希望本文能教会你更多东西。
命令构造器的使用应该限制在设计时或者ad-hoc情况下。需要的生成数据适配器命令属性的过程妨碍了性能。如果你预先知道INSERT/UPDATE/DELETE语句的内容,应该显式地设置它们。好的设计技巧是为INSERT/UPDATE/DELETE命令建立存储过程并明确地配置数据适配器命令属性来使用它们。
命令构造器使用数据适配器的SelectCommand属性来决定其它命令属性的值。如果ADO.NET处理数据适配器的SelectCommand自身改变了,一定要调用RefreshSchema来更新命令属性。
如果命令属性是空的(默认情况下命令属性是空的),命令构造器只为数据适配器命令属性生成一个命令。如果你明确地设置一个命令属性,命令构造器不会覆盖它。如果你希望命令构造器为一个已经设置了的命令属性生成一个命令,要把命令属性设置为空。 #t#
批处理ADO.NET处理语句
很多数据库支持在一个命令执行中组合、批处理多个命令执行。例如,SQL Server允许你使用分号分隔命令。把多个命令组合成为一个减少了对服务器的访问次数,可以提高应用程序的性能。例如,你能在本地应用程序中存储所有的删除,并在数据源发布一个批处理命令调用来删除它们。
尽管它提高了性能,但是也增加了应用程序管理数据集里面数据更新的复杂性。ADO.NET处理为了保持简单性,你也许会为数据集中的每个数据表建立一个数据适配器。
使用多个表填充数据集
如果使用批处理ADO.NET处理语句检索多个表并填充一个数据集,***张表的名字使用Fill方法指定的表名,后面的表的名字是Fill方法指定的名字加上一个数字,从1开始逐渐增加。例如,如果运行下面的代码:
- 'Visual Basic
- Dim da As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM Customers;
- SELECT * FROM Orders;", myConnection)
- Dim ds As DataSet = New DataSet()
- da.Fill(ds, "Customers")
- C#
- SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Customers;
- SELECT * FROM Orders;", myConnection);
- DataSet ds = new DataSet();
- da.Fill(ds, "Customers");