开发者

How to set an empty string as a default value for a DataSource parameter in ASP.NET?

开发者 https://www.devze.com 2023-01-18 17:35 出处:网络
This doesn\'t work. I\'ve got an exception from SQL databse that column does not allow nulls. <asp:SqlDataSource ID=\"MyDataSOurcet\" runat=\"server\"

This doesn't work. I've got an exception from SQL databse that column does not allow nulls.

<asp:SqlDataSource ID="MyDataSOurcet" runat="server" 
        ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" 
        InsertCommand="INSERT INTO MyTable(Name) VALUES (@Name) WHERE NameID = 1" 
        <InsertParameters>
            <asp:Parameter Name="Name" Type="String" DefaultValue=""/>
        </InsertParameters>开发者_Python百科;
    </asp:SqlDataSource>


You could try

   <asp:Parameter Name="Name"  Type="string" DefaultValue="" 
    ConvertEmptyStringToNull="false" />

But I thought that was default.


try this:

<asp:SqlDataSource ID="MyDataSOurcet" runat="server" OnInserting="MyDataSOurcetInserting" ... >

//cs
protected void MyDataSOurcetInserting(object sender, SqlDataSourceCommandEventArgs e)
{
   //check if nothing has been inserted then
   e.Command.Parameters["Name"].value = DBNull.Value;
} 

Good luck!

0

精彩评论

暂无评论...
验证码 换一张
取 消