sqlParameter对象的作用是将要用于操作数据库的数据(如根据ID查询时要用到id)以参数的形式加入到sql语句中,防止因为拼接字符串而引起的安全问题并且提高可读性。所以使用是要先创建一个sqlParameter对象,在定义时或定义后(取决于创建时调用的哪一个构造函数)将数据绑定到参数。在执行操作之前,用SQLcommand.Parameter的Add方法(单个SQLparameter对象)或AddRange方法(SQLparameter数组)将SQLparameter对象加到字符串中即可执行。

本文主要罗列了下SQLparameter的七个构造函数

1、

public SqlParameter();

无参构造函数

2、

public SqlParameter(string parameterName, SqlDbType dbType);

参数:
          parameterName:要映射的参数的名称

dbType:System.Data.SqlDbType 值之一,SqlDbType是一个枚举类型的变量,其所有的值为:

 //// 摘要://     指定 SQL Server 特定数据类型的字段、 属性,用于 System.Data.SqlClient.SqlParameter。public enum SqlDbType{//// 摘要://     System.Int64。 64 位带符号整数。BigInt = 0,//// 摘要://     System.Array类型System.Byte。 固定长度流,范围在 1 到 8000 个字节之间的二进制数据。Binary = 1,//// 摘要://     System.Boolean。 无符号的数字值,可为 0,1,或 null。Bit = 2,//// 摘要://     System.String。 范围在 1 到 8000 个字符之间的非 Unicode 字符固定长度流。Char = 3,//// 摘要://     System.DateTime。 日期和时间数据,值范围从 1753 年 1 月 1 日至 12 月 31 日,精确到 3.33 毫秒到 9999。DateTime = 4,//// 摘要://     System.Decimal。 固定的精度和小数位数之间的数值范围为-10 38 -1 和 10 38 -1。Decimal = 5,//// 摘要://     System.Double。 浮点数,范围在-1.79 e + 308 到 1.79 e + 308 之间。Float = 6,//// 摘要://     System.Array类型System.Byte。 范围从 0 到 2 的二进制数据的长度可变的流 31 -1 (或者 2147483647) 字节。Image = 7,//// 摘要://     System.Int32。 32 位带符号整数。Int = 8,//// 摘要://     System.Decimal。 货币值,范围从-2 63 (即-9223372036854775808) 到 2 63 -1 (或 9223372036854775807),精确到货币单位的万分之一。Money = 9,//// 摘要://     System.String。 范围在 1 到 4000 个字符之间的 Unicode 字符的固定长度流。NChar = 10,//// 摘要://     System.String。 最大长度为 2 Unicode 数据的长度可变的流 30 -1 (或者 1073741823) 个字符。NText = 11,//// 摘要://     System.String。 范围在 1 到 4000 个字符之间的 Unicode 字符长度可变的流。 如果字符串大于 4000 个字符,隐式转换将失败。//     使用字符串长度超过 4000 个字符时,请显式设置对象。 使用 System.Data.SqlDbType.NVarChar 数据库列时 nvarchar(max)。NVarChar = 12,//// 摘要://     System.Single。 浮点数,范围在-3.40 e + 38 到 3.40 e + 38 之间。Real = 13,//// 摘要://     System.Guid。 全局唯一标识符 (或 GUID) 中。UniqueIdentifier = 14,//// 摘要://     System.DateTime。 数值范围从 1900 年 1 月 1 日到 2079 年 6 月 6 日精度为一分钟的日期和时间数据。SmallDateTime = 15,//// 摘要://     System.Int16。 16 位带符号整数。SmallInt = 16,//// 摘要://     System.Decimal。 一个范围从-214,748.3648 到 +214,748.3647,精确到货币单位的万分之一的货币值。SmallMoney = 17,//// 摘要://     System.String。 最大长度为 2 的非 Unicode 数据的变量长度流 31 -1 (或者 2147483647) 个字符。Text = 18,//// 摘要://     System.Array类型System.Byte。 自动生成二进制数字,保证在数据库中是唯一。 timestamp 通常用作为表行加版本戳的机制。 存储大小为//     8 个字节。Timestamp = 19,//// 摘要://     System.Byte。 8 位无符号整数。TinyInt = 20,//// 摘要://     System.Array类型System.Byte。 范围在 1 到 8000 个字节之间的二进制数据长度可变的流。 如果字节数组大于 8000 个字节,隐式转换将失败。//     在使用字节数组大于 8000 个字节时,请显式设置对象。VarBinary = 21,//// 摘要://     System.String。 范围在 1 到 8000 个字符之间的非 Unicode 字符长度可变的流。 使用 System.Data.SqlDbType.VarChar//     数据库列时 varchar(max)。VarChar = 22,//// 摘要://     System.Object。 可以包含数值的特殊数据类型,字符串、 二进制文件中,或日期数据,以及 SQL Server 值的空和 Null,这将假定如果没有其他声明类型。Variant = 23,//// 摘要://     XML 值。 获取将 XML 作为字符串使用 System.Data.SqlClient.SqlDataReader.GetValue(System.Int32)//     方法或 System.Data.SqlTypes.SqlXml.Value 属性,或指定为 System.Xml.XmlReader 通过调用 System.Data.SqlTypes.SqlXml.CreateReader//     方法。Xml = 25,//// 摘要://     一个 SQL Server 用户定义类型 (UDT)。Udt = 29,//// 摘要://     用于指定包含在表值参数中的结构化的数据的特殊数据类型。Structured = 30,//// 摘要://     日期数据,从 1 月的值范围为 1,1 AD 到公元 9999 年 12 月 31 日。Date = 31,//// 摘要://     基于 24 小时制时间数据。 时间值范围是 00:00:00 到 23:59:59.9999999 100 纳秒精度。 对应于 SQL Server time//     值。Time = 32,//// 摘要://     日期和时间数据。 日期值范围是从 1 月 1,1 AD 到公元 9999 年 12 月 31 日。 时间值范围是 00:00:00 到 23:59:59.9999999//     100 纳秒精度。DateTime2 = 33,//// 摘要://     时区的日期和时间数据。 日期值范围是从 1 月 1,1 AD 到公元 9999 年 12 月 31 日。 时间值范围是 00:00:00 到 23:59:59.9999999//     100 纳秒精度。 时区值范围是-14:00 至 + 14:00。DateTimeOffset = 34}

3、

public SqlParameter(string parameterName, object value);

parameterName: 要映射的参数的名称。
 value:   作为 System.Object 的值的 System.Data.SqlClient.SqlParameter。即映射参数的值。

4、

public SqlParameter(string parameterName, SqlDbType dbType, int size);

与 2 的区别,多了一个int类型的参数,表示参数值的长度

5、

public SqlParameter(string parameterName, SqlDbType dbType, int size, string sourceColumn);

与4相比多了个string类型的参数sourceColumn,表示源列名 (System.Data.SqlClient.SqlParameter.SourceColumn)(如果在调用 Overload:System.Data.Common.DbDataAdapter.Update中使用了此 System.Data.SqlClient.SqlParameter)。

6、

public SqlParameter(string parameterName, SqlDbType dbType, int size, ParameterDirection direction, bool isNullable, byte precision, byte scale, string sourceColumn, DataRowVersion sourceVersion, object value);

7、

public SqlParameter(string parameterName, SqlDbType dbType, int size, ParameterDirection direction, byte precision, byte scale, string sourceColumn, DataRowVersion sourceVersion, bool sourceColumnNullMapping, object value, string xmlSchemaCollectionDatabase, string xmlSchemaCollectionOwningSchema, string xmlSchemaCollectionName);

sqlParameter的使用------七个构造函数相关推荐

  1. JAVA-初步认识-第七章-构造函数和一般函数的区别

    一. 构造函数是对象一创建,就被调用了.(调用这个词很特殊,是涉及到实体时,才会有调用的过程) 还有一点想说的是,构造函数的声明应该是固定的,不然没法随着对象的创建一起执行,必须是类名+括号的形式. ...

  2. Mono源代码学习笔记:Console类(四)

    NullStream 类 (internal class) 下面就是 mcs/class/corlib/System.IO/NullStream.cs: 01: namespace System.IO ...

  3. 实用工具类库java.util

    本章介绍Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结构.例如,Java提供日期(Data)类.日历(Calendar)类来产生和获取日期及时间,提供随机 ...

  4. Mono源码学习笔记:Console类(四)

    NullStream 类 (internal class) 以下就是 mcs/class/corlib/System.IO/NullStream.cs: 01: namespace System.IO ...

  5. ### 学习《C++ Primer》- 8

    Part 8: 面向对象(第15章) // @author: gr // @date: 2015-01-09 // @email: forgerui@gmail.com 一.OOP 面向对象程序设计的 ...

  6. [js插件开发教程]一步步开发一个可以定制配置的隔行变色小插件

    隔行变色功能,不用js,直接用css伪类就可以做,这个实例可以作为js插件开发很好的入门级实例.本文实现的隔行变色包括以下功能: 1,支持2种常用结构共存( div元素 和 表格类型 ) 2,一个页面 ...

  7. 为什么java在自己这是正确的但过不了oj_技术干货:关于Java异常的9大问题

    本文总结了关于Java异常的9个常见问题 一.检查与未检查 简而言之,检查过的异常必须显式地在方法中捕获或在方法的throw子句中声明. 未检查异常是由无法解决的问题引起的,例如除以零.空指针等. 检 ...

  8. JS基础--ES5创建对象的7种模式

    以下内容总结自<JavaScript高级程序设计(第3版)> 一. 工厂模式 ES5中无法创建类,所以开发人员用函数封装以特定接口创建对象的细节. function createPerso ...

  9. java.util包详解

    介绍Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结构.本章介绍Java的实用工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结 ...

  10. 【实习秋招篇之C++面经】

    C++必背面经 一. C++的理解,C和C++的区别. 二. Struct和class的区别 三. Strlen和sizeof的区别 四. 面向对象的理解 五. C++内存分布 六. 智能指针 七. ...

最新文章

  1. JavaScript 慢慢移动的海绵宝宝
  2. php展开收缩bom表_WordPress实现文章内容收缩和展开功能
  3. 奇迹觉醒服务器找不到,奇迹MU觉醒与服务器断开连接 原因及解决办法
  4. 关于vue打包的问题
  5. 版本不见了_王者荣耀复古版本来袭?第四代主宰形象回归!可以给小兵加速
  6. PyTorch【torchvision】
  7. XEON® Scalable-如何为虚拟化挑选合适的CPU
  8. Android恶意代码分析流程,[原创]恶意代码plankton分析记录(1)
  9. 【安装包】XMind-ZEN-Update-2019-for-Windows-64bit-9.2.1
  10. 一个完整的c语言程序~~简单的实例
  11. 华为hcna认证考完多久考hcip?华为认证的发展就业前景怎么样?
  12. 小米Pro搞Android开发,小米9 Pro真实体验到底如何?半个月上手告诉你!
  13. 编译原理实验二 语法分析程序设计与实现
  14. qt中xxx.pro:64: error: Extra characters after test expression.
  15. oracle 快速检索表名称及包含的字段名称
  16. 【设计】二极管-稳压管稳压电路
  17. python拼图游戏代码_Python图像处理——人物拼图游戏
  18. P2P追债也用上大数据
  19. android 通知 广告,解决三星/小米等Android手机通知栏推送广告的问题
  20. 学习MyBatis3这一篇就够了

热门文章

  1. 在Cesium中实现与CAD的DWG图叠加显示分析
  2. 常见在线密码解析网站
  3. 【微信小程序】自己的小程序跳转到京东小程序商品详情页
  4. Nginx#Nginx-Typora笔记
  5. 斐讯T1刷机详细指南
  6. 模型预测控制器(MPC)系列: 3.车辆横向MPC控制中的前馈设计
  7. 简单典型二阶系统_反馈控制系统的性能
  8. 关于需求分析的文档模板该怎么写
  9. pl/sql如何使用
  10. 接口测试用例设计思路_最全测试用例设计方法~思路分析