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
修改前
''' 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
修改后
''' <summary> ''' 查询方法 ''' </summary> ''' <param name="myCommandType">sql语句类型:区别于存储过程</param> ''' <param name="Param">参数数组</param> ''' <param name="strSql">sql语句</param> Public Function ExecuteQuery(ByVal myCommandType As CommandType, ByVal Param() As SqlParameter, ByVal strSql As String) As DataTable Dim dt As New DataTable Comm = New SqlCommand(strSql, Me.GetConn) Comm.CommandType = myCommandType If Param IsNot Nothing Then Comm.Parameters.AddRange(Param) End If Try myDataReader = Comm.ExecuteReader dt.Load(myDataReader) Catch ex As Exception Throw ex Finally myDataReader.Close() Conn.Close() End Try Return dt End Function