bool
тип значения, поэтому он не может содержать Нулевое значение. При обертывании какого-либо типа значения с Nullable<>
он даст ему ту способность. Кроме того, методы доступа для значения изменяются дополнительными свойствами HasValue
и Value
.
, Но к вопросу: Nullable<bool>
и bool?
псевдонимы.
Судя по вашим недавним комментариям, SQL Profiler не показывает никакой активности, когда SelectCommand
выдается из SqlDataSource
. Это могло быть связано с тем, что для параметра ConvertEmptyStringToNull
по умолчанию установлено значение true для параметров, содержащихся в коллекции SelectParameters
. Кроме того, по умолчанию CancelSelectOnNullParameter
в SqlDataSource имеет значение true. Это означает, что ваш параметр 'val2', вероятно, передает значение NULL, что, в свою очередь, отменяет операцию извлечения данных. Вот почему вы не видите никаких действий в SQL Profiler.
Попробуйте установить для CancelSelectOnNullParameter
значение false в SqlDataSource
.
SelectCommandType = "StoredProcedure" CancelSelectOnNullParameter = "False">
aspataSource>
aspataSource>
Я не вижу назначения параметров (val1, val2), поэтому при запуске по умолчанию будет назначено значение по умолчанию для строки и int и передано на сервер SQL.
Попробуйте SQL Server Profiler, чтобы узнать, не вы выполняете выбор с РЕАЛЬНЫМИ параметрами