C#将bit转换为boolean

时间:2010-05-04 17:07:01

标签: c# ado.net

问候。

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

此字段的01值将显示为false和true。

我希望在检索数据时将我得到的值转换为falsetrue,而不使用if-condition将数据转换为false,如果它是{{1}如果是0,则为true

我想知道C#中是否有函数会通过将位值传递给它来直接执行此操作吗?

5 个答案:

答案 0 :(得分:30)

DataReader.GetBoolean(x)

Convert.ToBoolean(DataRow[x])

答案 1 :(得分:27)

具体取决于您执行SQL查询的方式。例如,如果您有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);
        }
    }
}

答案 2 :(得分:12)

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

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

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

答案 3 :(得分:5)

GetBoolean会自动执行此操作。

答案 4 :(得分:2)

来自ASP.NET 2.0的

SqlDataSource会为0字段返回1BIT

ASP.NET 4.0中的

SqlDataSource返回相应的字符串 - Boolean.TrueString"True")或Boolean.FalseString"False")。