मेरे पास एक टेक्स्ट फ़ाइल है जिसे मैंने डेटा तालिका में पढ़ा है और फिर SQL सर्वर तालिका में एक थोक डालने का प्रदर्शन किया है। यह काफी तेज़ है और यह बहुत अच्छा काम करता है जब सभी आयातित मानों को तारों के रूप में माना जाता है (तिथियां, तार, इन्ट्स इत्यादि सभी स्ट्रिंग फ़ील्ड में आयात किए जाते हैं)।डेटारो आइटम को शून्य पर सेट करना
अब मेरे पास अवधारणा है, मैं डेटाबेस और मेरे कोड में वास्तविक डेटाटाइप असाइन करने के लिए वापस जा रहा हूं। डेटाबेस में फ़ील्ड को निर्दिष्ट सही प्रकार हैं। मैं अब कोड पर काम कर रहा हूं।
मुझे तिथियों के साथ समस्या है। जैसा कि मैंने उल्लेख किया है, सब कुछ एक स्ट्रिंग है और सही प्रकार में परिवर्तित हो जाता है। निम्न कोड में, मैं परीक्षण करना चाहता हूं कि किसी दिनांक का प्रतिनिधित्व करने वाला स्ट्रिंग मान शून्य या सफेद स्थान है। यदि यह शून्य नहीं है, तो मौजूदा मान का उपयोग करें। अन्यथा, इसे शून्य पर सेट करें।
row[i] = !string.IsNullOrWhiteSpace(data[i]) ? data[i] : DBNull.Value;
मैं null
का उपयोग कर, लेकिन इसके बजाय DBNull
उपयोग करने के लिए मुझे बता कोई त्रुटि मिलती है की कोशिश की। जब मैं DBNull
का उपयोग करता हूं, तो मुझे एक संदेश मिलता है जो मुझे बता रहा है कि स्ट्रिंग और System.DBNull
के बीच कोई अंतर्निहित रूपांतरण नहीं है।
datatable में स्तंभों डेटाटाइप्स निर्दिष्ट किया है (इस मामले में, DataType = Type.GetType("System.DateTime")
) और मैं इस स्तंभ
मैं इस संभाल कैसे करूँ के लिए AllowDBNull = true
सेट?
धन्यवाद!
आप केवल 'object' लिए उनमें से एक को कास्ट करने की जरूरत है। – SLaks