C#将bit转换为boolean

问候。

我有MS SQL服务器数据库, BIT类型的内容数据字段。

此字段将具有01值以显示false和true。

我想在检索数据时将I得到的值转换为falsetrue而不使用if-condition将数据转换为false如果为0true如果为1

我想知道C#中是否有函数会直接通过传递位值来实现这一点吗?

根据您执行SQL查询的方式,它可能取决于您。 例如,如果您有数据读取器 ,则可以直接读取布尔值 :

 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); } } } 
 DataReader.GetBoolean(x) 

要么

 Convert.ToBoolean(DataRow[x]) 

你是如何从数据库中提取字段的?

SqlDataReader类有一个GetBoolean方法,可以为您进行翻译:

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

GetBoolean将自动执行此操作。

ASP.NET 2.0中的SqlDataSourceBIT字段返回01

ASP.NET 4.0中的SqlDataSource返回相应的字符串 – Boolean.TrueString"True" )或Boolean.FalseString"False" )。