को DBNull.Value और खाली पाठ बॉक्स मूल्य पासिंग मैं जो खाली हैं क्योंकि वे वैकल्पिक हैं हो सकता है अपने पन्ने पर कुछ बक्सें है और मैं इस दाल कोडडेटाबेस
parameters.Add(new SqlParameter("@FirstName", FirstName));
parameters.Add(new SqlParameter("@LastName", LastName));
parameters.Add(new SqlParameter("@DisplayName", DisplayName));
parameters.Add(new SqlParameter("@BirthDate", BirthDate));
parameters.Add(new SqlParameter("@Gender", Gender));
उन क्षेत्रों में से कोई भी खाली किया जा सकता है। समस्या यह है कि जब वे खाली हैं मैं Procedure XXX requires @FirstName which was not supplied
प्राप्त तब मैं
parameters.Add(new SqlParameter("@FirstName", String.IsNullOrEmpty(FirstName) ? DBNull.Value : (object)FirstName));
parameters.Add(new SqlParameter("@LastName", String.IsNullOrEmpty(LastName) ? DBNull.Value : (object) LastName));
parameters.Add(new SqlParameter("@DisplayName", String.IsNullOrEmpty(DisplayName) ? DBNull.Value : (object) DisplayName));
parameters.Add(new SqlParameter("@BirthDate", BirthDate.HasValue ? (object)BirthDate.Value : DBNull.Value));
parameters.Add(new SqlParameter("@Gender", String.IsNullOrEmpty(Gender) ? DBNull.Value : (object) Gender));
करने के लिए अपने कोड बदल लेकिन यह मुझे विशेष रूप से object
लिए कास्टिंग के लिए गंदा लग रहा है क्योंकि त्रिगुट बयान एक ही प्रकार के होने के लिए दोनों मूल्य की आवश्यकता है।
डेटाबेस में NULL
खाली स्ट्रिंग या शून्य स्ट्रिंग का इलाज क्यों नहीं किया जाता है? अगर मुझे इसे DBNull.Value
में परिवर्तित करना है तो क्या एक क्लीनर तरीका है? डेटाबेस में खाली स्ट्रिंग के रूप में मूल्य को सहेजने में मदद मिली हो सकती है लेकिन डेटाबेस में NULL
के लिए क्वेरी गड़बड़ हो जाएगी
कृपया सामान्य प्रथाओं या उसके करीब कुछ पर अपनी सलाह दें।
मेरे पास कमांड ऑब्जेक्ट तक पहुंच नहीं है क्योंकि मैंने इसे बेस क्लास में समेकित किया है, इसलिए मैं इसे कई डेटाबेस [किसी विशेष डेटाबेस पर निर्भरता से परहेज] के साथ उपयोग कर सकता हूं। मुझे एक्सटेंशन विधियों के दृष्टिकोण पसंद हैं। धन्यवाद। – codingbiz
मुझे लगता है कि 'DbNullIfNull' के साथ कुछ गलत है। मैं वहां तर्क को समझ नहीं पाया, इसलिए मैंने इसे अपने .NET 4.0 प्रोजेक्ट में टाइप किया, और यह निश्चित रूप से गलत है! मेरा अनुमान है कि आप 'वापसी (obj! = Null) कोड करना चाहते हैं? obj: DBNull.Value; 'बदले में वापस 'obj? = शून्य? obj: DBNull.Value; 'बस एक एफवाईआई। – jp2code
@ jp2code: निश्चित रूप से, यह सिर्फ एक टाइपो था। धन्यवाद! फिक्स्ड। – abatishchev