SqlParameter[]写法

  1. //封装SqlParameter 一次性一行添加sql参数 包括类型,尺寸,进出...
  2. public static SqlParameter AddParameter(string parameterName, object parameterValue, SqlDbType dbType, int parameterSize, ParameterDirection Direction)
  3. {
  4. SqlParameter par = new SqlParameter();
  5. par.ParameterName = parameterName;
  6. par.Value = parameterValue;
  7. par.Direction = Direction;
  8. par.SqlDbType = dbType;
  9. if (parameterSize > 0) { par.Size = parameterSize; }
  10. return par;
  11. }
  12. public static SqlParameter AddInParameter(string parameterName, object parameterValue, SqlDbType dbType, int parameterSize)
  13. {
  14. return AddParameter(parameterName, parameterValue, dbType, parameterSize, ParameterDirection.Input);
  15. }
  16. public static SqlParameter AddInParameter(string parameterName, object parameterValue, SqlDbType dbType)
  17. {
  18. return AddParameter(parameterName, parameterValue, dbType, 0, ParameterDirection.Input);
  19. }
  20. public static SqlParameter AddOutParameter(string parameterName, SqlDbType dbType)
  21. {
  22. return AddParameter(parameterName, DBNull.Value, dbType, 0, ParameterDirection.Output);
  23. }

//调用:

public DataSet GetPageList2005(string SelectList,string TableSource,int PageSize,int PageIndex,stringstrWhere,string OrderExpression,refint TotalRecord)

{

SqlParameter[] parameters = {
        DbHelperSQL.AddInParameter("@ReFieldsStr",SelectList,SqlDbType.VarChar,200),

DbHelperSQL.AddInParameter("@TableName", TableSource, SqlDbType.VarChar,50),

DbHelperSQL.AddInParameter("@WhereString",strWhere,SqlDbType.VarChar,500),

DbHelperSQL.AddInParameter("@OrderString", OrderExpression,SqlDbType.VarChar,200),

DbHelperSQL.AddInParameter("@PageSize",PageSize,SqlDbType.Int),

DbHelperSQL.AddInParameter("@PageIndex",PageIndex,SqlDbType.Int),

DbHelperSQL.AddOutParameter("@TotalRecord",SqlDbType.Int)

};
    DataSet tmpds =  DbHelperSQL.RunProcedure("GetPageList2005", parameters, "ds_"+ TableSource);

TotalRecord =int.Parse(parameters[6].Value.ToString());
    return tmpds;

}

另一种:

SqlParameter[] params = new SqlParameter[] {

new SqlParameter("@a", a),

string.IsNullOrEmpty(b)? new SqlParameter("@b", DBNull.Value) : new SqlParameter("@b", b)

};

另一种:

List<SqlParameter> list= new List<SqlParameter>();

list.Add(new SqlParameter("@Param1", a));

list.Add(new SqlParameter("@Param2", b));

list.Add(new SqlParameter("@Param3", string.IsNullOrEmpty(c)?(object)DBNull.Value:c ));

SqlParameter[] Params = list.ToArray();

时间: 2024-12-21 14:05:11

SqlParameter[]写法的相关文章

sql sever 的两种写法

事务(Transaction)是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位. 通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性. 在sql server+ .net 开发环境下,有两种方法能够完成事务的操作,保持数据库的数据完整性: 一个就是用sql存储过程,另一个就是在ADO.NET中一种简单的事务处理: 现在通过一个典型的银行转账的例子来说明一下这两个例子的用法 我们先来看看sql存储过程是如何来

数据库查询的一般写法:从登陆验证小案例中得到的一些启示和经验

这几天做了一个登陆验证的案例,主要功能就是:用户输入密码进行登陆,如果输错密码三次则15分钟内不能登陆. 这个案例确实不复杂,但是其中的逻辑第一次理解确实很别扭. 从这个小案例中,我得到了几个启示,并打算以后写类似的程序都执行此标准 1.该项目中,和sql有关的操作统统放到SqlHelper中 ---所有相同的操作都应该单独定义成一个助手类. 2.该项目中,使用了参数化查询有效防止了sql注入漏洞 ---所有关于查询的并且值由用户输入的sql语句,一律不准用字符串拼接 3.该项目中,判断用户是否

动态向SqlParameter 里添加相应参数

先定义一个List,然后再往List里面添加SqlParameter对象,然后将List转为SqlParameter数组即可 List<SqlParameter> ilistStr = new List<SqlParameter>(); ilistStr.Add(new SqlParameter("@Param1", "aa")); ilistStr.Add(new SqlParameter("@Param2", &quo

Ado.net 三[SQL注入,DataAdapter,sqlParameter,DataSet]

1.SQL注入:SQL注入攻击是web应用程序的一种安全漏洞,可以将不安全的数据提交给运用程序,使应用程序在服务器上执行不安全的sql命令.使用该攻击可以轻松的登录运用程序. 例如:该管理员账号密码为xiexun,该sql的正确语句应该为: select * from Users where userName='xiexun' 如果在没有做任何处理的情况下,在登录名文本框中输入(xuxian' delete users--),单击"登录"按钮之后,相当于传了两句sql语句,一句执行查询

用SqlParameter 给SQL传递参数

1.数据访问层 using的用法: 01.可以using System;导命名控空间 02.using 的语法结构 using(变量类型  变量名 =new 变量类型()) { } 案例: 03.using的原理 为什么出了using所在的{},会自动回收对象. 原因是当我们将要出{},系统自动调用了Dispose()方法. 而在DISpose方法中是这么实现的 2.哪些对象才可以使用Using回收!如:SqlConnection  Font 和File 也都可以使用using   因为他们实现

查询分页的几种Sql写法

create database DBTestuse DBTest --创建测试表create table pagetest(id int identity(1,1) not null,col01 int null,col02 nvarchar(50) null,col03 datetime null) --1万记录集declare @i intset @i=0while(@i<10000)begin insert into pagetest select cast(floor(rand()*10

asp.net中怎样调用存储过程和存储过程的写法(转载,留着自己看)

asp.net中怎样调用存储过程和存储过程的写法 创建一个只有输入参数的存储过程 create procedure proc_user@name varchar(20),@Password varchar(100)as select * from loginuser where name like @name ---创建一个有输入和输出参数的存储过程 create procedure proc_usertext@name varchar(20),@blog varchar(100) output

向SqlParameter内动态添加参数

动态向SqlParameter 里添加相应参数,方法如下 先定义一个List,然后再往List里面添加SqlParameter对象,然后将List转为SqlParameter数组即可 List<SqlParameter> ilistStr = new List<SqlParameter>(); ilistStr.Add(new SqlParameter("@Param1", "aa")); ilistStr.Add(new SqlParame

SqlParameter关于Like的传参数无效问题

正确的写法(简洁版) private void GetHandleData(string strKeyWord1, string strKeyWord2, string strKeyWord3) { string strSql = "select top 10 * from VW_Bookinfo where bcode like @strKeyWord1 and contacttel like @strKeyWord2 and spuname like @strKeyWord3 order b