加载页面时,将 null 值传递给 SQLTaSource 中的存储过程

本文关键字:SQLTaSource 存储过程 值传 null 加载 | 更新日期: 2023-09-27 18:36:19

我有一些用于输入搜索值的文本框。我有一个存储过程,它有 2 个日期时间、1 个 int 和 1 个字符参数。我将SqlDataSource附加到TextBox并将默认值设置为 null,但是当我运行时,我的项目空被传递给存储过程,但我的存储过程需要一个空值。如何在SqlDataSource绑定到文本框的情况下传递空值?

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:DB_MosquesAffairsConnectionString3 %>"
    SelectCommand="mqa.S_Conference_Select_Date"
    SelectCommandType="StoredProcedure" onload="SqlDataSource1_Load"
    onselecting="SqlDataSource1_Selecting">
    <SelectParameters>
        <asp:ControlParameter ControlID="TextBox1" DbType="Date" DefaultValue="null"
            Name="StartDate" PropertyName="Text" />
        <asp:ControlParameter ControlID="TextBox2" DbType="Date" DefaultValue="null" 
            Name="EndDate" PropertyName="Text" />
        <asp:ControlParameter ControlID="TextBox3" DefaultValue="null" 
            Name="ConferenceName" PropertyName="Text" Type="String" />
        <asp:ControlParameter ControlID="TextBox4" DefaultValue="null" 
            Name="ConferenceID" PropertyName="Text" Type="Int32" />
    </SelectParameters>
</asp:SqlDataSource>

加载页面时,将 null 值传递给 SQLTaSource 中的存储过程

您可以在ControlParameter中使用以下属性/属性

ConvertEmptyStringToNull="true" DefaultValue=""

  <SelectParameters>
                     <asp:ControlParameter ControlID="TextBox1" DbType="Date"     ConvertEmptyStringToNull="true" DefaultValue=""
                         Name="StartDate" PropertyName="Text" />
                     <asp:ControlParameter ControlID="TextBox2" DbType="Date"     ConvertEmptyStringToNull="true" DefaultValue=""
                         Name="EndDate" PropertyName="Text" />
                     <asp:ControlParameter ControlID="TextBox3"     ConvertEmptyStringToNull="true" DefaultValue="" 
                         Name="ConferenceName" PropertyName="Text" Type="String" />
                     <asp:ControlParameter ControlID="TextBox4"     ConvertEmptyStringToNull="true" DefaultValue=""
                         Name="ConferenceID" PropertyName="Text" Type="Int32" />
                 </SelectParameters>