批处理ADO.NET SQL语句分析

开发 后端
这里究批处理ADO.NET SQL语句做出了解释,文章还究使用批处理ADO.NET SQL语句检索多个表并填充 DataSet,第一个表用指定给 Fill 方法的表名命名。后面的表用指定给 Fill 方法的表名加上一个从 1 开始并且增量为 1 的数字命名做出代码分析。

了解数据库的人都知道很多数据库支持把多条命令合并或批处理成一条单一命令执行。这里就批处理ADO.NET SQL语句来和大家说说。

批处理ADO.NET SQL语句

我们先举个例子,SQL Server 使您可以用分号 (;) 分隔命令。把多条命令合并成单一命令,能减少到服务器的行程数,并提高应用程序的性能。例如,可以把所有预定的删除在应用程序中本地存储起来,然后再发出一条批处理命令调用,从数据源删除它们。虽然这样做确实能提高性能,但是,当对 DataSet 中的数据更新进行管理时,可能会增加应用程序的复杂性。要保持简单,可能要在 DataSet 中为每个 DataTable 创建一个 DataAdapter。

用多个表填充 DataSet

如果使用批处理ADO.NET SQL语句检索多个表并填充 DataSet,***个表用指定给 Fill 方法的表名命名。后面的表用指定给 Fill 方法的表名加上一个从 1 开始并且增量为 1 的数字命名。例如,如果运行下面的代码:

  1. 'Visual Basic  
  2. Dim da As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM Customers; SELECT * FROM Orders;", myConnection)  
  3. Dim ds As DataSet = New DataSet()  
  4. da.Fill(ds, "Customers")  
  5. //C#  
  6. SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Customers; SELECT * FROM Orders;", myConnection);  
  7. DataSet ds = new DataSet();  
  8. da.Fill(ds, "Customers"); 


来自 Customers 表的数据放在名为 "Customers" 的 DataTable 中。来自 Orders 表的数据放在名为 "Customers1" 的 DataTable 中。

填充完 DataSet 之后,可以很容易地把 "Customers1" 表的 TableName 属性改为 "Orders"。但是,后面的填充会导致 "Customers" 表被重新填充,而 "Orders" 表会被忽略,并创建另外一个 "Customers1" 表。为了对这种情况作出补救,创建一个 DataTableMapping,把 "Customers1" 映射到 "Orders",并为其他后面的表创建其他的表映射。例如:

  1. 'Visual Basic  
  2. Dim da As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM Customers; SELECT * FROM Orders;", myConnection)  
  3. da.TableMappings.Add("Customers1", "Orders")  
  4. Dim ds As DataSet = New DataSet()  
  5. da.Fill(ds, "Customers")  
  6.  
  7. //C#  
  8. SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Customers; SELECT * FROM Orders;", myConnection);  
  9. da.TableMappings.Add("Customers1", "Orders");  
  10. DataSet ds = new DataSet();  
  11. da.Fill(ds, "Customers");  

【编辑推荐】

  1. 详谈Linq查询结果分析的方法
  2. 简简单单学习Linq查询语法
  3. 详细阐述Linq插入数据的操作方法
  4. 浅析Linq插入数据的实现方法
  5. 简单解决Linq多条件组合问题
<
责任编辑:田树 来源: 博客
相关推荐

2009-12-23 11:01:50

ADO.NET 批处理

2009-12-23 10:34:15

ADO.NET 批处理

2010-01-04 15:27:31

ADO.NET SQL

2009-11-11 17:12:25

ADO.NET批处理

2009-11-03 15:47:10

ADO.NET数据异步

2010-01-04 15:46:03

ADO.NET 批处理

2009-12-29 15:38:05

ADO.NET语句

2009-12-31 16:09:22

ADO与ADO.NET

2009-12-23 11:25:30

ADO.NET处理

2009-12-30 16:05:20

ADO.NET实例

2009-12-22 14:15:08

ADO.Net处理数据

2009-11-04 11:02:23

ADO.NET Dat

2009-11-04 13:51:46

ADO.NET性能

2009-12-28 14:54:48

ADO.NET语句

2010-01-04 13:16:31

ADO.NET命令

2009-12-22 16:16:18

ADO.NET Deb

2009-10-29 10:10:10

ADO.NET数据集类

2009-12-31 10:57:14

ADO.NET SEL

2009-12-21 14:31:29

ADO.NET类文件

2009-12-28 15:11:36

ADO.NET专家
点赞
收藏

51CTO技术栈公众号