2010-05-04 15 views
21

ग्रीटिंग्स।सी # कन्वर्ट बिट टू बूलियन

मेरे पास एमएस एसक्यूएल सर्वर डेटाबेस है जो सामग्री डेटा फ़ील्ड BIT प्रकार है।

इस फ़ील्ड में या तो 0 या 1 मान झूठे और सत्य प्रस्तुत करने के लिए होंगे।

मैं चाहता हूँ जब मैं मूल्य कन्वर्ट करने के लिए डेटा पुनः प्राप्त की मैं अगर शर्त का उपयोग कर false करने के लिए डेटा परिवर्तित करने के लिए अगर यह 0 या true है अगर यह 1 है बिना false या true का मौका मिला।

मुझे आश्चर्य है कि सी # में कोई फ़ंक्शन क्या है, इसे थोड़ा मान पास करके सीधे किया जाएगा?

उत्तर

26

:

SqlDataReader वर्ग एक GetBoolean विधि है जो आप के लिए अनुवाद करता है। उदाहरण के लिए यदि आप एक data reader आप सीधे read a boolean value कर सकता है, तो:

using (var conn = new SqlConnection(ConnectionString)) 
using (var cmd = conn.CreateCommand()) 
{ 
    conn.Open(); 
    cmd.CommandText = "SELECT isset_field FROM sometable"; 
    using (var reader = cmd.ExecuteReader()) 
    { 
     while (reader.Read()) 
     { 
      bool isSet = reader.GetBoolean(0); 
     } 
    } 
} 
12

आप डेटाबेस से फ़ील्ड कैसे निकाल रहे हैं? कैसे आप एसक्यूएल प्रदर्शन कर रहे हैं प्रश्नों यह निर्भर हो सकता है पर निर्भर करता है

bool yourBoolean = reader.GetBoolean(reader.GetOrdinal("Your_Bit_Column")); 
24
DataReader.GetBoolean(x) 

या

Convert.ToBoolean(DataRow[x]) 
+6

'कनवर्ट करें। टोबोलियन ((बाइट) 1);' 'सत्य ' – abatishchev

2

SqlDataSource ASP.NET से 2.0 रिटर्न 0 और BIT क्षेत्रों के लिए 1

ASP.NET 4.0 रिटर्न उचित स्ट्रिंग से SqlDataSource - Boolean.TrueString ("True") या Boolean.FalseString ("False")।

+1

बिट रिटर्न भी हो सकता है –

+0

@ गुइल्यूम: एसक्यूएल प्रकार बीआईटी या .NET प्रकार बाइट? – abatishchev

+0

एसक्यूएल प्रकार बिट: http://msdn.microsoft.com/en-us/library/aa225961(v=sql.80).aspx –

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