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

 

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 StringByVal param() As SqlParameter, ByVal ct As CommandType) As DataTable  
  9.     Dim dt As New DataTable  
  10.   
  11.     comm = New SqlCommand(strSql, Me.GetConn)  
  12.     comm.CommandType = ct  
  13.   
  14.     If param IsNot Nothing Then  
  15.         For i = 0 To param.Length - 1  
  16.             comm.Parameters.Add(param(i))  
  17.         Next i  
  18.     End If  
  19.   
  20.     Try  
  21.         dr = comm.ExecuteReader()  
  22.         dt.Load(dr)  
  23.     Catch ex As Exception  
  24.         Throw ex  
  25.     Finally  
  26.         dr.Close()  
  27.         conn.Close()  
  28.     End Try  
  29.   
  30.     Return dt  
  31. 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 StringAs DataTable  
  8.     Dim dt As New DataTable  
  9.   
  10.     Comm = New SqlCommand(strSql, Me.GetConn)  
  11.     Comm.CommandType = myCommandType  
  12.   
  13.     If Param IsNot Nothing Then  
  14.         Comm.Parameters.AddRange(Param)  
  15.     End If  
  16.   
  17.     Try  
  18.         myDataReader = Comm.ExecuteReader  
  19.         dt.Load(myDataReader)  
  20.     Catch ex As Exception  
  21.         Throw ex  
  22.     Finally  
  23.         myDataReader.Close()  
  24.         Conn.Close()  
  25.     End Try  
  26.   
  27.     Return dt  
  28. End Function 
原文地址:https://www.cnblogs.com/guozhenyp/p/2111496.html