2011-11-02 14 views
5

के बीच कनवर्ट करना यदि मैं सी # से टाइप char (2) के डेटाबेस कॉलम में सम्मिलित करना चाहता हूं। सी # में मैं किस डेटा प्रकार का उपयोग करूंगा?एसक्यूएल चार और सी #

private static SqlParameter addParameterValue(string parameterName, ? parameterValue, SqlCommand command) 
    { 
     SqlParameter parameter = new SqlParameter(parameterName, SqlDbType.Char); 
     parameter.Value = parameterValue; 
     command.Parameters.Add(parameter); 
     return parameter; 
    } 

मुझे किस प्रकार के parameterValue को देना होगा:

निम्नलिखित कोड का उपयोग कर रहे?

मैं पहले से ही इस तरह विधि है जब parameterValue प्रकार स्ट्रिंग की है, इसलिए जब SqlDbType.Char और SqlDbType.Varchar के बीच का अंतर

उत्तर

4

string तरीके से कार्य करेंगे बता अगर यह 2 वर्ण या है यह एक समस्या हो सकती है कम

+0

तो बस स्ट्रिंग पर लम्बाई जांच करने की आवश्यकता है? – ediblecode

+0

मुझे लगता है कि एसक्यूएल स्वचालित रूप से छंटनी के बजाय 'स्ट्रिंग या बाइनरी डेटा को' छोटा कर दिया जाएगा 'के साथ एक अपवाद फेंक देगा। सेटअप पर निर्भर करता है मुझे लगता है कि – flipchart

5

char, varchar, nchar, nvarchar हैं वास्तव में तार

size निर्धारित करने के लिए कितनी देर तक स्ट्रिंग है में मदद करता है ...

रास्ता

char द्वारा एक निश्चित लंबाई है, इसलिए यदि आप एक char(2) में "1" करना चाहते हैं सामग्री वास्तविक हो जाएगा "1 "

varchar(2)"1"

n भाग खड़ा हो जाएगा यूनिकोड के लिए, इसलिए उन क्षेत्रों के अंदर सब कुछ यूनिकोड में होगा।


सामान्य रूप से हम, nvarchar उपयोग करते हैं, डेटा पर कुछ स्थान बचाने के लिए के रूप में यदि आप एक char(250) डेटाबेस हमेशा पूरी लंबाई की बचत होगी है एक खाली varchar(250) के रूप में कुछ भी नहीं किया जाएगा।

हमारे प्रोग्रामिंग भाषा हम तो

"1".PadLeft(2); 
"1".PadRight(2); 

इच्छा उत्पादन " 1" और "1 " क्रमशः सी # में, गद्दी का उपयोग उदाहरण के लिए क्या char करता है वह करने में

+1

मुझे लगता है कि आपका वर्कर उदाहरण गलत है। –

1

AddWithValue विधि का उपयोग कर प्रयास करें और स्ट्रिंग के रूप में यह Parce,

यह केवल एक एक पंक्ति है। एक अलग विधि की जरूरत नहीं है।

command.Parameters.AddWithValue(parameterName, parameterValue); 
+0

बहुत बहुत धन्यवाद, इसने मेरे कोड को थोड़ा छोटा कर दिया है। हालांकि मुझे इस विधि को विरासत में मिला। – ediblecode

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