2009-03-16 8 views
6

मेरा आवेदन vb के साथ asp.net है।एसबीएल संग्रहीत प्रक्रिया में vb.net में दिनांक के लिए शून्य मूल्य कैसे पास कर सकता हूं?

मेरे पृष्ठ में मेरे पास पासिंग तिथि के लिए एक टेक्स्टबॉक्स है। अगर मैंने तिथि दर्ज नहीं की है और सबमिट करने पर क्लिक किया है, तो मुझे संग्रहीत प्रक्रिया में शून्य मान पास करना होगा।

मैंने DBNull.Value और DateTime.MinValue जैसे कोडों का पालन करने का प्रयास किया। उस मामले में शून्य के बजाय, "#12:00:00#" गुजर रहा है। मुझे नल पास करना है।

उत्तर

15

बस आप SqlParameter (धन्यवाद जॉन) का उपयोग कर रहे हैं, तो पैरामीटर मान DBNull.Value

[संपादित करें]

आवंटित तो आप इसे इस तरह सेट कर सकते हैं, तो यह किसी भी त्रुटि देता है

parameter.Value = DBNull.Value 
+0

यह एक रूपांतरण problem.can यह – Nandini

+0

DBNull.Value के रूप में यह एक त्रुटि "ऑब्जेक्ट DBNull.Value से दूसरे ढाला नहीं जा सकता उत्पन्न नहीं किया जा सकता Convert.ToDateTime (DBNull.Value) द्वारा हल किया जा देता है प्रकार " – Nandini

+0

दिया गया कोड ठीक होना चाहिए, यदि" पैरामीटर "एक वर्गमीटर है। –

0
Dim pflt_dateto As SqlParameter = cmd.CreateParameter 
     pflt_dateto.Direction = ParameterDirection.Input 
     pflt_dateto.DbType = SqlDbType.Int 
     pflt_dateto.IsNullable = True 
     pflt_dateto.ParameterName = "flt_dateto" 

     If String.IsNullOrEmpty(dateto) Then 
      pflt_dateto.SqlValue = DBNull 
     Else 
      pflt_dateto.SqlValue = dateto 
     End If 

     cmd.Parameters.Add(pflt_dateto) 

चूंकि आप पैरामीटर को शून्य करने के लिए सेट अप करते हैं, तो त्रुटि गायब हो जाएगी। अब मुद्दा यह है कि .NET पास शून्य पूर्णांक 0 के रूप में है इसलिए हमें उससे निपटने की आवश्यकता है।

चाओ

+0

यह लाइन 'pflt_dateto.SqlValue = DBNull.Value' नहीं होनी चाहिए? मुझे त्रुटि मिली: "डीबीएनयूएल एक प्रकार है और बिना किसी अभिव्यक्ति के रूप में इस्तेमाल किया जा सकता है" वैल्यू' – AllisonC