web-dev-qa-db-ja.com

C#ビットをブールに変換

ご挨拶。

BITタイプのコンテンツデータフィールドを持つMS SQLサーバーデータベースがあります。

このフィールドには0または1値はfalseとtrueを表します。

データを取得して、取得した値をfalseまたはtrueに変換するときに、if-conditionを使用してデータをfalseに変換せずに0またはtrueの場合は1

C#に関数があり、ビット値を渡すことでこれを直接行うのだろうかと思っていますか?

25
Eyla

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

または

Convert.ToBoolean(DataRow[x])
33
Robin Day

データベースからフィールドをどのように抽出していますか?

SqlDataReader クラスには、変換を行う GetBoolean メソッドがあります。

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

GetBoolean はこれを自動的に行います。

ASP.NET 2.0のSqlDataSourceは、BITフィールドに対して0および1を返します。

ASP.NET 4.0のSqlDataSourceは適切な文字列を返します-Boolean.TrueString"True")またはBoolean.FalseString"False")。

2
abatishchev