我目前正在尝试为数据库中的所有存储过程编写一个简单的C#包装类。System.Data.SqlClient.SqlParameter.IsNullable的用途是什么?
在C#中构建一些参数时,我注意到属性SqlParameter.IsNullable,并想知道这是什么。据我所知,不可能将存储过程参数声明为NOT NULL,因此NULL总是被允许传递给任何参数。
通过测试,似乎将IsNullable属性设置为false不起作用,并且仍然允许将SqlParameter.Value属性设置为null。
任何人都可以解释这个属性的目的吗?
感谢您的期待。
答复者找赏金应审查这些链接:
How to restrict NULL as parameter to stored procedure SQL Server?
I assume SqlParameter.IsNullable only makes sense when…?
http://social.msdn.microsoft.com/forums/en-US/vblanguage/thread/b7a08616-58d1-4cdc-a3e9-9353e292667b
如果你定义一个存储过程的参数“没有”空指令,那么你就不能在空通(DB将抛出你的错误) – 2011-04-28 16:45:53
@ M.R。我不确定你的意思是由空指令。你说的是设置默认值设置为null即:@MyInt INT = NULL,你可以提供一个参数声明的例子有没有这个“空指令” – Martyn 2011-04-28 17:56:27
正确 - @MyInt INT VS @MyInt INT = NULL。当你做前者时,无论如何你都无法传递null ...... – 2011-04-28 17:59:37