AddRange 取代 Add

cmd.Parameters的Add方法是增加一个参数,增加多个参数的的时候使用一个foreach循环,cmd.Parameters的AddRange方法是增加一个参数的数组。

Add:将指定的对象添加到……中

AddRange:向……末尾,添加数组

在群体操作时,使用AddRange取代Add

用AddRange可以让我们要加入的东西一次性加入,而不要每次只加一个,这样显然可以加快速度。几乎所有的windows control都支持Add和AddRange两种方法。

Add:

For i = 0 To param.Length - 1
comm.Parameters.Add(param(i))
Next i

AddRange:

Comm.Parameters.AddRange(Param)

支持Add和AddRange的类:
StringCollection, TraceCollection, SqlParameter, etc.
HttpWebRequest
UserControl
ColumnHeader

原代码:

  1. ‘‘‘ ExecuteQuery,查询数据操作
  2. ‘‘‘ </summary>
  3. ‘‘‘ <param name="strSql">sql语句</param>
  4. ‘‘‘ <param name="param">参数集合</param>
  5. ‘‘‘ <param name="ct">命令类型</param>
  6. ‘‘‘ <returns>DataTable类型,数据表</returns>
  7. ‘‘‘ <remarks></remarks>
  8. Public Function ExecuteQuery(ByVal strSql As String, ByVal param() As SqlParameter, ByVal ct As CommandType) As DataTable
  9. Dim dt As New DataTable
  10. comm = New SqlCommand(strSql, Me.GetConn)
  11. comm.CommandType = ct
  12. If param IsNot Nothing Then
  13. For i = 0 To param.Length - 1
  14. comm.Parameters.Add(param(i))
  15. Next i
  16. End If
  17. Try
  18. dr = comm.ExecuteReader()
  19. dt.Load(dr)
  20. Catch ex As Exception
  21. Throw ex
  22. Finally
  23. dr.Close()
  24. conn.Close()
  25. End Try
  26. Return dt
  27. End Function

‘‘‘ ExecuteQuery,查询数据操作
‘‘‘ </summary>
‘‘‘ <param name="strSql">sql语句</param>
‘‘‘ <param name="param">参数集合</param>
‘‘‘ <param name="ct">命令类型</param>
‘‘‘ <returns>DataTable类型,数据表</returns>
‘‘‘ <remarks></remarks>
Public Function ExecuteQuery(ByVal strSql As String, ByVal param() As SqlParameter, ByVal ct As CommandType) As DataTable
Dim dt As New DataTable

comm = New SqlCommand(strSql, Me.GetConn)
comm.CommandType = ct

If param IsNot Nothing Then
For i = 0 To param.Length - 1
comm.Parameters.Add(param(i))
Next i
End If

Try
dr = comm.ExecuteReader()
dt.Load(dr)
Catch ex As Exception
Throw ex
Finally
dr.Close()
conn.Close()
End Try

Return dt
End Function

修改后:

  1. ‘‘‘ <summary>
  2. ‘‘‘ 查询方法
  3. ‘‘‘ </summary>
  4. ‘‘‘ <param name="myCommandType">sql语句类型:区别于存储过程</param>
  5. ‘‘‘ <param name="Param">参数数组</param>
  6. ‘‘‘ <param name="strSql">sql语句</param>
  7. Public Function ExecuteQuery(ByVal myCommandType As CommandType, ByVal Param() As SqlParameter, ByVal strSql As String) As DataTable
  8. Dim dt As New DataTable
  9. Comm = New SqlCommand(strSql, Me.GetConn)
  10. Comm.CommandType = myCommandType
  11. If Param IsNot Nothing Then
  12. Comm.Parameters.AddRange(Param)
  13. End If
  14. Try
  15. myDataReader = Comm.ExecuteReader
  16. dt.Load(myDataReader)
  17. Catch ex As Exception
  18. Throw ex
  19. Finally
  20. myDataReader.Close()
  21. Conn.Close()
  22. End Try
  23. Return dt
  24. End Function
时间: 2024-10-14 17:10:37

AddRange 取代 Add的相关文章

数组的Add和AddRange区别

Add:将指定的对象添加到……中 AddRange:向……末尾,添加数组 在群体操作时,使用AddRange取代Add 用AddRange可以让我们要加入的东西一次性加入,而不要每次都加一次,这样显然可以加快速度.几乎所有的windows control都支持Add和AddRange两种方法. 例如: add:for(int i=0;i<list.lenght;i++) { list.add(i); } addRange:list.addRange(list1);  list.addRange(

Add和AddRange的区别

Add和AddRange区别 Add和AddRange Add:将指定的对象添加到……中 AddRange:向……末尾,添加数组 - 在群体操作时,使用AddRange取代Add 用AddRange可以让我们要加入的东西一次性加入,而不要每次都加一次,这样显然可以加快速度.几乎所有的windows control都支持Add和AddRange两种方法. Add: For i = 0 To param.Length - 1 comm.Parameters.Add(param(i)) Next i

C#学习记录

转眼几个月没更博了,把几个月前学C#的笔记发一下,就记录了点教重要的点子而已 1.打印 Console.WriteLine(); 打印 Console.ReadKey(); 按一个按键继续执行 Console.ReadLine(); //用户输入文字的时候程序是暂停的,用户输入完毕点回车,把用户输入的东西做为返回值 例: string s =  Console.ReadLine(); 读取进去的是字符串,所以不能用其他类型接收 2.数据类型: 值类型:int.float.double.char.

Entity Framework 6.0 Tutorials(7):DbSet.AddRange &amp; DbSet.RemoveRange

DbSet.AddRange & DbSet.RemoveRange: DbSet in EF 6 has introduced new methods AddRange & RemoveRange. DbSet.AddRange adds collection(IEnumerable) of entities to the DbContext, so you don't have to add each entity individually. IList<Student>

[转]How to Improve Entity Framework Add Performance?

本文转自:http://entityframework.net/improve-ef-add-performance When you overuse the Add() method for multiple entities, your application suffers from performance issues. 1 using (var ctx = new CustomerContext()) 2 { 3 foreach(var line in lines) 4 { 5 var

Collection接口框架图

Java集合大致可分为Set.List和Map三种体系,其中Set代表无序.不可重复的集合:List代表有序.重复的集合:而Map则代表具有映射关系的集合.Java 5之后,增加了Queue体系集合,代表一种队列集合实现. Java集合框架主要由Collection和Map两个根接口及其子接口.实现类组成.本文仅探讨Collection接口及其子接口.实现类. 1. Collection接口继承树 2. Collection接口是Set.List和Queue接口的父接口,基本操作包括: add(

Linux学习-09-学习正则表达式-1

grep进阶 截取:dmesg(列出讯息) |grep '内容' -A 后面加数字 after 后面几行 -B 后面加数字 befor后面几行 寻找regular_express.txt 中的'the'行 cat regular_express.txt |grep 'the' grep 'the' regular_express.txt grep -nv (加行号,反选)'the' regular_express.txt grep -ni (加行号,不区分大小写)'the' regular_ex

GridView动态添加新行

gridview动态添加行的原理就是用datatable增加新列然后重新绑定: 设计源码 设计gridview代码: <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:TextBox ID="TextBox2&qu

C#作业

从n个数中随机选取m(m<=n)个不重复的数并且对选取的m个数进行排序 在老师布置作业的时候就想到要用数组的一些知识: (1) Array(包含AraayList,Hashtable等一些特殊的数组)提供了Sort方法来进行排序,但它常与Reverse方法(反转数组中元素的顺序)一起配合使用. Sort方法,接受一个数组,将其实现升序,格式为:Array.Sort(数组) Reverse方法,接受一个数组,将其反转数组中元素的顺序,格式为:Array.Reverse(数组) (2)ArrayLi