1)当SqlParameter.IsNullable
设置为true
时,收到的null
值将转换为DBNull.Value
并发送到数据库。因此,我认为将IsNullable
设置为true
只有在GridView的Parameter.ConvertEmptyStringToNull
也设置为true
时才有意义吗?
2)GridView和ObjectDataSource的参数都具有ConvertEmptyStringToNull
属性。但是有没有(当试图更新数据源时):
•我们应该将GridView的Parameter.ConvertEmptyStringToNull
设置为true
,然后将ObjectDataSource的Parameter.ConvertEmptyStringToNull
设置为false
?!
•或者我们应该将GridView的Parameter.ConvertEmptyStringToNull
设置为true
,而将SqlDataSource的SqlParameter.IsNullable
设置为false
?
答案 0 :(得分:0)
Ans:1:当SqlParameter.IsNullable设置为true时,收到的null值将转换为DBNull.Value并发送到数据库。因此,当GridView的Parameter.ConvertEmptyStringToNull也设置为true时,我认为设置IsNullable为true才有意义? - 只是是的
答案 1 :(得分:0)
对于您的所有问题,答案通常都是“否”,因为并非总是存在DataGrid,这不是显示数据和从用户获取输入的唯一方式。
如果您的用户界面以其他方式提供数据(例如DetailView,FromView,手工制作的窗口或页面等等),或者您根本没有UI,并且您的数据来自其他来源,您可能必须独立于不存在的DataGrid处理IsNullable
和/或ConvertEmptyStringToNull
属性!
IsNullable
,当您调用存储过程时,应该匹配sp的参数定义。