Я предполагаю, что SqlParameter.IsNullable имеет смысл только тогда, когда…?

1) Когда SqlParameter.IsNullable установлено в true, полученное значение null преобразуется в DBNull.Value и отправляется в базу данных. Таким образом, я бы предположил, что установка IsNullable на true имеет смысл только в том случае, если Parameter.ConvertEmptyStringToNull в GridView также установлено на true?

2) Параметры GridView и ObjectDataSource имеют свойство ConvertEmptyStringToNull. Но бывает ли ситуация, когда (при попытке обновить источник данных):

• где мы должны установить Parameter.ConvertEmptyStringToNull GridView на true, но затем установить Parameter.ConvertEmptyStringToNull ObjectDataSource на false?!

• или где мы должны установить Parameter.ConvertEmptyStringToNull в GridView на true, а SqlParameter.IsNullable в SqlDataSource на false?


person SourceC    schedule 02.06.2009    source источник


Ответы (2)


Ответ: 1: Когда для SqlParameter.IsNullable установлено значение true, полученное нулевое значение преобразуется в DBNull.Value и отправляется в базу данных. Таким образом, я бы предположил, что установка IsNullable в значение true имеет смысл только в том случае, если для GridView Parameter.ConvertEmptyStringToNull также установлено значение true? - просто да

person Community    schedule 29.01.2011

Ответы в целом "НЕТ" на все ваши вопросы, потому что не всегда есть DataGrid, который не является единственным способом показать данные или получить ввод от пользователя.

Если ваш пользовательский интерфейс предоставляет данные другим способом (например, DetailView, FromView, созданное вручную окно или страница и т. д.), или у вас вообще нет пользовательского интерфейса, и ваши данные поступают из другого источника, у вас может быть работать со свойствами IsNullable и/или ConvertEmptyStringToNull независимо от несуществующей DataGrid!

IsNullable, в частности, когда вы вызываете хранимые процедуры, должны соответствовать определению параметра sp.

person BertuPG    schedule 22.02.2011