关于C# ADO.NET SqlParameter对象使用的问题

废话不多说,先上图

图一:

图二:

大家应该看出上面两张的区别了吧,我之前没有注意过这个问题,当传入0的时候,默认使用第二个为SqlDbType枚举的重载方法,其他情况只要不等于0,或者传入变量都使用的是图二的重载方法。

根据以上分析可以得出结论:如果SqlParameter对象第二个参数传入0的话,相当于没有给这个参数赋值,C_Identity这个字段可以为空的话,插入的就是NULL,否则运行的时候就会出错。我最后使用了字符串。。。(给变量赋值为0,传入也可以)

当然,我上面使用的那种写法是不规范的,只是为了测试说明这个问题,才直接赋值的!

原文地址:https://www.cnblogs.com/hyxh/p/3191401.html