哈喽,你好啊,我是雷工!
今天在练习C#时遇到报错:
SqlParameterCollection 只接受非空的 SqlParameter 类型对象,不接受 SqlParameter[] 对象。
01 为什么使用SqlParameter
开发中之所以采用SqlParameter[]param是因为,输入的内容需要使用单引号‘’包括,但当字符串中含有单引号时,程序就容易发生错误,
而且他人可以轻易地通过拼接SQL语句对程序进行注入攻击。所以使用了SqlParameter。
02 Add方法
Add方法每次只能添加一个SqlParameter。
测试中是添加了一个数组包含4个SqlParameter,所以报错:
System.InvalidCastException:“SqlParameterCollection 只接受非空的 SqlParameter 类型对象,不接受 SqlParameter[] 对象
03 AddRange方法
AddRange方法实现了添加一个泛型集合的所有元素到指定泛型集合的结尾。
所以此处将Add方法改为AddRange方法后,错误消失,可正常运行。