2010-09-30 19 views
7

यह काम नहीं करता है। मुझे एसक्यूएल डेटाबेस से अपवाद मिला है कि कॉलम नल की अनुमति नहीं देता है।ASP.NET में डेटासोर्स पैरामीटर के लिए डिफ़ॉल्ट मान के रूप में खाली स्ट्रिंग को कैसे सेट करें?

<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> 
    </asp:SqlDataSource> 

उत्तर

8

आप

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

की कोशिश कर सकते लेकिन मैंने सोचा था कि डिफ़ॉल्ट था।

+0

धन्यवाद, डिफ़ॉल्ट सेटिंग सही थी। अब यह काम कर रहा है। – Wodzu

0

इस प्रयास करें:

<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; 
} 

गुड लक!

+0

धन्यवाद, यह होना चाहिए: ई। कॉमांड। पैरामीटर ["नाम"]। मूल्य = "" खाली स्ट्रिंग के लिए, है ना? लेकिन हेनक का समाधान मेरी समस्या के लिए पर्याप्त है। – Wodzu

+0

हाँ आप इसे कर सकते हैं लेकिन मैं आपको डेटाबेस में खाली स्ट्रिंग को स्टोर करने के लिए शून्य मानों का उपयोग शुरू करने की सलाह देता हूं। वैसे भी मुझे खुशी है कि आप इसे हल करने में कामयाब रहे !! – Mouhannad

संबंधित मुद्दे

 संबंधित मुद्दे