У меня есть следующая проблема. Я хочу отправить значение null в Хранимую процедуру с помощью параметра querystringparameter.Отправка нулевого параметра в строку запроса. Сохраненная процедура
Это моя хранимая процедура
CREATE PROCEDURE spGetAllProducts
@catID int = null,
@subcatID int = null
AS
BEGIN
SELECT * FROM Products WHERE
((@catID is null) OR (category_id = @catID))
AND ((@subcatID is null) OR (subcategory_id = @subcatID))
END
она работает, когда я тестирование со следующими запросами, как точно, как я хочу
spGetAllProducts null, '3'
spGetAllProducts '8', null
spGetAllProducts '8', '3'
spGetAllProducts null, null
, но когда я пытаюсь отправить пустое значение с queryparameter его не работает
вот мой SqlDataSource
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionStringReviewDB %>" SelectCommandType="StoredProcedure" SelectCommand="spGetAllProducts">
<SelectParameters>
<asp:QueryStringParameter Direction="Input" Name="catID" QueryStringField="catID" Type="Int32" />
<asp:QueryStringParameter Direction="Input" Name="subcatID" QueryStringField="subcatID" Type="Int32" DefaultValue="" ConvertEmptyStringToNull="True" />
</SelectParameters>
</asp:SqlDataSource>
Когда я посылаю запрос, как этот
http://localhost:50693/TreeViews.aspx?catID=8&subcatID=3
он работает, но когда я посылаю следующий запрос он не работает
http://localhost:50693/TreeViews.aspx?catID=8&subcatID=
Thx из ныне
Как ответил @LearningAsp, ваш второй запрос равен следующему: 'spGetAllProducts '8', ''' – Serg