6

के बराबर है क्या किसी को पता है कि DbType SqlDbType.Bit के बराबर क्या है?DbType SqlDbType.Bit

मैं

param[0] = new SqlParameter("@Status", SqlDbType.Bit); 
param[0].Value = Status; 

को
db.AddInParameter(dbCommand, "@Status", <DbType dbType>, Status); 

कन्वर्ट करने के लिए कोशिश कर रहा हूँ, लेकिन मैं जो DbType एक एकल बिट दर्शाने के लिए करना नहीं जानता। कोई विचार?

+2

शायद एक बूलियन? Altough DbType बिट है और .NET प्रकार बूल है, तो इसका मतलब क्या है "DbType SqlDbType.Bit के बराबर है?" – Freeman

+0

मैं सहमत हूं, बूलियन, क्योंकि इसे 0 या 1 के रूप में संग्रहीत किया गया है। – Derek

+1

@ फ़्रीमेन कोई बूलियन सत्य या गलत नहीं होगा? और बिट 1 लेता है, 0 .. – Aditi

उत्तर

7

डेटाबेस प्रकार bit सर्वर पक्ष पर एक बूलियन के रूप में दर्शाया गया है, इसलिए संबंधित DbType मान DbType.Boolean है।

7

DbType.Boolean:

एक साधारण प्रकार सही या गलत का बूलियन मूल्यों का प्रतिनिधित्व।

SqlDbType.Bit:

Boolean। एक हस्ताक्षरित संख्यात्मक मान जो 0, 1, या शून्य हो सकता है।

उनके विवरण के काफी ऊपर से मेल नहीं खाते, लेकिन Bit के बाद से एक Boolean होने के रूप में वर्णन किया गया है, यह सबसे उचित मिलान नहीं है।

+0

कुछ इस काम को पसंद करेंगे - 'cmd.Parameters.Add ("@ isActive", SqlDbType.Bit)। वैल्यू = झूठा' – MaylorTaylor

+0

क्या यह सबसे उपयुक्त है? सी # को शून्य में पता है, जैसा कि SQL में शून्य 'बिट' फ़ील्ड है। उदाहरण के लिए, SQL सर्वर, 'सत्य/गलत' के बजाय '0/1/NULL' स्वीकार करता है। – dakab

+0

@dakab - यहां कई समस्याएं हैं जिनमें मैंने अपने उत्तर में शामिल नहीं किया - जैसे तथ्य यह है कि SQL सर्वर में वास्तविक बूलियन डेटा प्रकार नहीं है ('बिट' को दस्तावेजीकरण में संख्यात्मक प्रकार के रूप में वर्णित किया गया है) और वह , यदि SQL सर्वर * उचित (SQL मानक) बूलियन डेटा प्रकार को लागू करने के लिए * थे, तो तीन मूल्यवान तर्क के उपयोग के कारण, उस प्रकार को 'सत्य', 'झूठा' और 'अज्ञात' का समर्थन करना चाहिए, साथ ही मानक प्रत्येक प्रकार के लिए) 'शून्य' के माध्यम से किसी मान की अनुपस्थिति। –

2

http://msdn.microsoft.com/en-us/library/fhkx04c4 से, मैं कहूंगा DbType.Boolean एक साधारण प्रकार सत्य या गलत के बूलियन मूल्यों का प्रतिनिधित्व करता है।

+0

यह ध्यान में नहीं आता है कि ओपी 'एसक्यूएलडीबी टाइप' के लिए पूछ रहा था जिसमें बूलियन प्रकार शामिल नहीं है – MaylorTaylor

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