C#将bit转换为boolean
问候。
我有MS SQL服务器数据库, BIT
类型的内容数据字段。
此字段将具有0
或1
值以显示false和true。
我想在检索数据时将I得到的值转换为false
或true
而不使用if-condition将数据转换为false
如果为0
或true
如果为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中的SqlDataSource
为BIT
字段返回0
和1
。
ASP.NET 4.0中的SqlDataSource
返回相应的字符串 – Boolean.TrueString
( "True"
)或Boolean.FalseString
( "False"
)。