params SqlParameter[] commandParameters(转)
C#代码
ExecuteReader(string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters)
以params声明的形参说明参数的个数是可选的,可以为0个或多个。
以params声明的形参中含一个参数数组,则该参数数组必须位于形参列表最后;
以params声明的参数数组必须是一维数组;
以params声明的形参当为多个时,以","分开传入.
一个参数:
C#代码
ExecuteReader(System.Data.CommandType.Text,"select * from table1 where id =@id",new System.Data.SqlClient.SqlParameter("@id",12));
多个参数:
C#代码
ExecuteReader(System.Data.CommandType.Text,"select * from table1 where id =@id and name=@name",
new System.Data.SqlClient.SqlParameter("@id",12),new System.Data.SqlClient.SqlParameter("@name","中国"));
或者:
public static int ExecuteNonQuery(SqlConnection connection, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
//...
}
SqlParameter a = new SqlParameter("@id", "12");
SqlParameter b = new SqlParameter("@name", "中国");
ExecuteNonQuery(conn, cmdType, cmdText, a, b);
或者:
sqlParameter[] paras =new SqlParameter[]{
new SqlParameter("@id", "12"),
new SqlParameter("@name", "中国")
};
ExecuteNonQuery(conn, cmdType, cmdText, paras);
因为是params 声明的,所以这个参数可以不填。或传入一个事先设置好的SqlParameter类型的数组。
注意:
当SqlParameter的构造函数为:SqlParameter(string, object)
当在 value 参数中指定 Object 时,SqlDbType 将从 Object 的 .NET Framework 类型推断出。
请小心使用 SqlParameter 构造函数的这个重载来指定整数参数值。 因为此重载接受 Object 类型的 value,所以当此值为零时,必须将整数值转换为 Object 类型,如下面的 C# 示例所示。
Parameter = new SqlParameter("@pname", Convert.ToInt32(0));
如果不执行该转换,则编译器将认为您尝试调用 SqlParameter(string、SqlDbType)构造函数重载
解释:1:通俗点说就是0是设置默认的SqlDbType。
几乎相当与在其他语言中设置默认参数时使用null一样
而Convert.ToInt32(0)相当于转义,把设置默认参数的0转化为真实的数值0
2:在编程中0表示的类型:可以是true,可以看成空,也可以是整数。
所以必须给它一个确定的类型。
第一种:
SqlCommand1.Parameters.Add(参数名称,参数值);
//参数值为0时,必须转换为Object类型
//如果不执行该转换,则编译器将认为您尝试调用 SqlParameter(string、SqlDbType)构造函数重载
//或者使用第二种,确定参数类型,并赋值,不需要转换
第二种:
SqlCommand1.Parameters.Add(参数名称,参数类型,参数长度,参数所在列的名字);
然后再SqlCommand1.Parameters[ "参数名称 "].value=参数的值;
或SqlCommand1.Parameters.Add(参数名称,参数类型,参数长度,参数所在列的名字).value=参数的值;
params SqlParameter[] commandParameters(转)的更多相关文章
- 传统的Ado.net 参数设置:params SqlParameter[] commandParameters
C#代码 ExecuteReader(string connectionString, CommandType commandType, string commandText, params Sql ...
- 便于开发的Helper类
一.将config封装实体层: 例子config: <?xml version="1.0" encoding="utf-8" ?> <Sett ...
- 微软版的SqlHelper.cs类
一,微软SQLHelper.cs类 中文版: using System; using System.Data; using System.Xml; using System.Data.SqlClien ...
- SqlHelper类
using System; using System.Collections; using System.Collections.Generic; using System.Data; using S ...
- 【2016-11-2】【坚持学习】【Day17】【微软 推出的SQLHelper】
从网络上找到 微软原版本的SQLHelper,很多行代码.认真看了,学习了. 代码: using System; using System.Data; using System.Xml; usin ...
- SqlHelper c#
using System; using System.Data; using System.Xml; using System.Data.SqlClient; using System.Collect ...
- SQLHelper
今天学习了.net后,经过老师的一番讲解,似乎对它越来越渴望了,希望自己在接下来的学习当中,能很好的驾驭.net,加油吧, 下面我分享一个操作SQL数据库的代码大全,谢谢观赏.嘿嘿,还是比较长的哦, ...
- C# DataGridView自定义分页控件
好些日子不仔细写C#代码了,现在主要是Java项目,C#.Net相关项目不多了,有点手生了,以下代码不足之处望各位提出建议和批评. 近日闲来无事想研究一下自定义控件,虽然之前也看过,那也仅限于皮毛,粗 ...
- C#导入Exel
; try { ]; string[] NoExPrentFile = new string[] { "xls", "xlsx" }; ] || fileTyp ...
随机推荐
- c语言入门
c 语言现在是一门很流行的语言,它介于汇编语言和高级语言之间,我认为 它属于中级语言,如c语言 的指针 ,位操作符,等,因为接近于汇编语言,c语言的执行代码效率很高 现在大多数的系统 如unix,和l ...
- LINUX 笔记-crontab命令
用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下: minute hour da ...
- LeetCode 604. Design Compressed String Iterator (设计压缩字符迭代器)$
Design and implement a data structure for a compressed string iterator. It should support the follow ...
- LeetCode 66. Plus One(加1)
Given a non-negative integer represented as a non-empty array of digits, plus one to the integer. Yo ...
- 在Javaava中stringBuilder的用法
String对象是不可改变的.每次使用 System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间.在需要对字符串执行重复修改的情况下,与创建新的 ...
- 谈谈今年很火的区块链 CDN
2017 年初,区块链被越来越多的人知道.区块链的概念其实很早就被提出来,曾经有人说过"区块链技术被认为是继蒸汽机.电力.互联网之后,下一代颠覆性的核心技术. 如果说蒸汽机释放了人们的生产力 ...
- 在VM12中安装 RedHat RHEL7.2 系统的详细步骤
一.开始安装 1)新建虚拟机 RHEL7.2 2)成功引导系统--开机出现此画面 Install Red Hat EnterpriseLinux 7.2 安装RHLE7.2 操作系统 Test th ...
- Python-week1,第一周(基于Python3.0以上)
1,变量 准确来说不是第一周学习了吧,应该是采用博客记录学习的第一周,记录并做个笔记吧,可能做的不好,但我高兴啊,废话不说了,上图. 学习过程中做的一些笔记,当然能面面俱到,只能在写博客的时候又能复习 ...
- .NET Core跨平台的奥秘[上篇]:历史的枷锁
微软推出的第一个版本的.NET Framework是一个面向Windows桌面和服务器的基础框架,在此之后,为此微软根据设备自身的需求对.NET Framework进行裁剪,不断推出了针对具体设备类型 ...
- Android 开发笔记___drawable
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...