sql操作带参数的时候用下面的方法,但是如果某个参数为 空值的话会报错,应该怎么改?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql操作带参数的时候用下面的方法,但是如果某个参数为 空值的话会报错,应该怎么改?相关的知识,希望对你有一定的参考价值。

sqlparameter[] parameters=
new sqlparameter("@aa",sqldbtype.smallint),
...
;
parameters[0].value=txt1.text;
...

你应该动态添加参数 在添加之前 判断一下 是否为空 为空就不添加了 不过你的SQL存储过程也应做相应的判断 因为你是动态添加的参数 可能会与SQL存储过程里面定义的参数个数不同 参考技术A 动态拼接成SQL 查询字符串 参考技术B 如果为空就给个默认值

记FluentData的坑点

bidDetail.MaterielInfoViews = db.Sql(materielInfoSql)
                    .Parameter("BELONG_MEMBER_ID", AbpSession.MemberId)
                    .Parameter("FK_KEY", id)
                    .QueryMany<GetMaterielInfoViewModel>();

写SQL据带参数的时候,设置参数的顺序必须和SQL语句上面的参数申明一致。

以上是关于sql操作带参数的时候用下面的方法,但是如果某个参数为 空值的话会报错,应该怎么改?的主要内容,如果未能解决你的问题,请参考以下文章

Java 中带参带返回值方法的使用

python多线程执行类中的静态方法

类的带参方法

记FluentData的坑点

深入类的方法

SQL SERVER 存储过程中如何使用传入的DB参数,实现跨库查询?