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