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
原代码:
- ''' 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
''' 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
AddRange 取代 Add的更多相关文章
- Add和AddRange的区别
Add和AddRange区别 Add和AddRange Add:将指定的对象添加到……中 AddRange:向……末尾,添加数组 - 在群体操作时,使用AddRange取代Add 用AddRange可 ...
- C#学习记录
转眼几个月没更博了,把几个月前学C#的笔记发一下,就记录了点教重要的点子而已 1.打印 Console.WriteLine(); 打印 Console.ReadKey(); 按一个按键继续执行 Con ...
- SqlHelper——数据库小助手
SqlHelper其实就是一个类. 早就听说过"SqlHelper"这个名词,也查过相关的资料,但还是一头雾水.当真的去实践去用它时,就会发现其实它没那么神秘. 当敲第一个窗体的时 ...
- [转]How to Improve Entity Framework Add Performance?
本文转自:http://entityframework.net/improve-ef-add-performance When you overuse the Add() method for mul ...
- 【译】第42节---EF6-DbSet.AddRange & DbSet.RemoveRange
原文:http://www.entityframeworktutorial.net/entityframework6/addrange-removerange.aspx EF 6中的DbSet引入了新 ...
- Entity Framework 6.0 Tutorials(7):DbSet.AddRange & DbSet.RemoveRange
DbSet.AddRange & DbSet.RemoveRange: DbSet in EF 6 has introduced new methods AddRange & Remo ...
- EF 添加方式比较
using System; using System.Collections.Generic; using DBAccess.Models; using EntityFramework.BulkIns ...
- Entity Framework Core 2.0 入门简介
不多说废话了, 直接切入正题. EF Core支持情况 EF Core的数据库Providers: 此外还即将支持CosmosDB和 Oracle. EFCore 2.0新的东西: 查询: EF.Fu ...
- Entity Framework Core 2.0 入门
该文章比较基础, 不多说废话了, 直接切入正题. 该文分以下几点: 创建Model和数据库 使用Model与数据库交互 查询和保存关联数据 EF Core支持情况 EF Core的数据库Provide ...
随机推荐
- web前端(13)—— 了解JavaScript,JavaScript的引入方式
从本篇博文开始,将进入web前端方便最关键最重要的部分——javascript,学到后面你就知道它真的太重要了 什么是JavaScript JavaScript一种直译式的脚本语言,是一种动态类型.弱 ...
- stored information about method csdn
Eclipse编译时保留方法的形参 Window -> Preferences -> Java -> Compiler. 选中Store information about meth ...
- FCM算法的matlab程序
FCM算法的matlab程序 在“FCM算法的matlab程序(初步)”这篇文章中已经用matlab程序对iris数据库进行简单的实现,下面的程序最终的目的是求准确度. 作者:凯鲁嘎吉 - 博客园 h ...
- Socket实例
一.socket处理单个连接 recv方法不是可以随便接收多大的数据都可以.官方建议是8KB, 即conn.recv(8192) import socket client = socket.sock ...
- 【Teradata】磁盘碎片整理(ferret工具)
DEFRAGMENTcombines free sectors and moves them to the end of a cylinder.PACKDISKfill (or packs) cyli ...
- Linux /var/log下的各种日志文件详解
1)/var/log/secure:记录登录系统存取数据的文件;例如:pop3,ssh,telnet,ftp等都会记录在此. 2)/var/log/wtmp:记录登录这的信息记录,被编码过,所以必须以 ...
- Apache Curator is a Java/JVM client library for Apache ZooKeeper
http://curator.apache.org/index.html Welcome to Apache Curator What is Curator? Curator n ˈkyoor͝ˌāt ...
- 并发的HashMap为什么会引起死循环?
转载:http://blog.csdn.net/zhuqiuhui/article/details/51849692 今天研读Java并发容器和框架时,看到为什么要使用ConcurrentHashMa ...
- 提升SQLite数据插入效率低、速度慢的方法
前言 SQLite数据库由于其简单.灵活.轻量.开源,已经被越来越多的被应用到中小型应用中.甚至有人说,SQLite完全可以用来取代c语言中的文件读写操作.因此我最近编写有关遥感数据处理的程序的时候, ...
- Rancher学习笔记----在UI界面添加主机页面无法正常显示
今天在学习rancher添加主机的时候,遇到了一个小问题,但是困扰老娘一上午 问题描述:在点击添加主机的时候,页面有跳转,但是页面显示为空,没有任何可选项.如下正常界面: 解决办法是:请换个浏览器