关于 SqlParameter 必须知道的!

有时候写 SqlParameter 映射

new SqlParameter("@RecordId", SqlDbType.BigInt, 0, "RecordId")
有时候发现加不加@都可以,但是今天突然发现,如果不加@,相当的能坑人!!!
有些地方不加@是无法通过ado.net的检查的,可能会报:指定的参数名“RecordId”无效。
我这次是在 SqlDataAdapter 的 UpdateBatch 批量更新处被坑了。。。找了半天的错误,才发现当更新一条的时候,不会检查是否带@,当更新多条时就会检查,坑呢么!!!
时间: 2024-11-16 23:16:26

关于 SqlParameter 必须知道的!的相关文章

SqlParameter[] parameters

SqlParameter[] parameters = { new SqlParameter("@rdTypeName", readertype.rdTypeName), new SqlParameter("@CanLendQty", readertype.CanLendQty), } 或是 SqlParameter[] parameters = { new SqlParameter("@CanContinueTimes", SqlDbType.

SqlParameter 事务 批量数据插入

不错,很好,以后防注入批量事务提交虽然麻烦点研究了几个小时,但不会是问题了 1 SqlCommand cmd; 2 HelpSqlServer helps = new HelpSqlServer(); 3 //定义SqlParameter数组 4 SqlParameter[] param = new SqlParameter[4]; 5 6 7 protected void Page_Load(object sender, EventArgs e) 8 { 9 var strsql = "&qu

SqlParameter的用法和好处

关于Sql注入的基本概念,相信不需要多说,大家都清楚,经典的注入语句是' or 1=1--单引号而截断字符串,"or 1=1"的永真式的出现使得表的一些信息被暴露出来,如果sql语句是select * from 的话,可能你整个表的信息都会被读取到,更严重的是,如果恶意使用都使用drop命令,那么可能你的整个数据库得全线崩溃.当然,现在重点不是讲sql注入的害处,而是说说如何最大限度的避免注入问题.sql注入的存在在最大危害,是sql的执行语句没有和控制语句分开,我们想要select一

动态向SqlParameter 里添加相应参数

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

SqlParameter 使用

            SqlParameter[] param = new SqlParameter[]             {                 new SqlParameter("@Page",SqlDbType.Int,4),                 new SqlParameter("@Size",SqlDbType.Int,4 ),                 new SqlParameter("@Conditio

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   因为他们实现

我的VS2013中,用Ado.net给SQLParameter赋值的时候,当赋值null的时候,生成的sql语句是default

/// <summary> /// 增加一条数据 /// </summary> public bool Add(Model.WechatDocuments model) { StringBuilder strSql=new StringBuilder(); strSql.Append("insert into WechatDocuments("); strSql.Append("DocumentName,DocumentPath,DocumentFor

SqlParameter中的size

SqlParameter中size对于需要指定大小的数据库中的数据类型参数有影响[如nvarchar],如果对于这些类型没有指定size则会默认根据赋的值进行推导应该指定的size,而对于那些大小固定的数据类型类型没有影响[如 int] SqlParameter para=new SqlParameter("@name",SqlDbType.Int,3); 监测结果如下: nvarchar会根据需要截取长度,如我输入的参数值为aaaaaaaaaaaaa SqlParameter par