Я предполагаю, что SqlParameter.IsNullable имеет смысл только когда…? - PullRequest
2 голосов
/ 03 июня 2009

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 22 февраля 2011

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

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

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

0 голосов
/ 29 января 2011

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

...