- PR -

DataView.RowFilterへの、Bit(Boolean)の値設定について

1
投稿者投稿内容
WAO
会議室デビュー日: 2005/07/29
投稿数: 8
投稿日時: 2005-08-04 15:07
環境:SQL Server2000
Visual Studio.NET 2003(VB.NET)

SQL Serverのあるフィールドの型をBit型に設定しています。
DataSet/DataTableを作成して、DataViewを作成するのですが、
その際に、そのBit型のフィールドをRowFilterに条件指定する方法が分かりません。

DataView.RowFilter = "HOGE = 0"
DataView.RowFilter = "HOGE = '0'"

上記二通りで試しましたがエラーとなります。

指定方法をご存知の方、ご教授願います。
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-08-04 16:03
まずは、SQLServer上の型ではなく、DataTable内での型と中身がどうなっているか見てみましょう。
以下のコードで調べられます。

//型
DataTable1.Columns("列名").DataType.ToString()
//内容
DataTable1.Rows(行インデックス)("列名").ToString()
WAO
会議室デビュー日: 2005/07/29
投稿数: 8
投稿日時: 2005-08-04 18:56
ぼのぼの様、ありがとうございます。

>SQLServer上の型ではなく、DataTable内での型と中身がどうなっているか
Bit型は、Boolean型として扱われるんですね。
しかも、
  DataView.RowFilter = "HOGE IS TRUE"
ではなく、
  DataView.RowFilter = "HOGE = 'TRUE'"
としなくてはいけないようで。

無事、解決しました。
ありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)