我假设SqlParameter.IsNullable仅在......时才有意义?

时间:2009-06-02 21:03:20

标签: c# .net asp.net gridview objectdatasource

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

2 个答案:

答案 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的参数定义。