ご挨拶。
BIT
タイプのコンテンツデータフィールドを持つMS SQLサーバーデータベースがあります。
このフィールドには0
または1
値はfalseとtrueを表します。
データを取得して、取得した値を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"
)。