トップ回答者
DBNullについて

質問
-
こんにちは。
VB2010にてツールを作成しております。
VB2010とAccess2003のMDBテーブルと連携し、テキストボックスに入れた文字列にて該当するデータあった場合にDatagridviewに表示するツールを作成しております。
他の質問を読んでみましたが、似たような事例が無く解決が困難である為、お力を借りられたらと思っております。
テキストボックスの中に検索文字を入力し実行しますが、該当のカラムにNull(データの作成にオートナンバーを使用している為)が有る為に、「演算子 '=' は 型 'DBNull' と 文字列 "test" に対して定義されていません。」のエラーが出ます。
Dim query = From row In Tbl _
Where row.Item("ユーザー名") = TextBox1.TextIsDBNullを記述すればいいのではと他の質問を見ておりましたがTextBoxを使用した方法が無くご教授頂ければと思います。
宜しくお願いします
回答
-
ふつうに
Dim query = From row In tbl Where Not IsDBNull(row.Item("ユーザー名")) _ AndAlso row.Item("ユーザー名") = TextBox1.Text
で良いのでは?
ひらぽんさんの書いたやり方だと、DBNull.Value.ToString() = String.Empty なのでTextBox1.Textが空だと一致しちゃいます。
すべての返信
-
ふつうに
Dim query = From row In tbl Where Not IsDBNull(row.Item("ユーザー名")) _ AndAlso row.Item("ユーザー名") = TextBox1.Text
で良いのでは?
ひらぽんさんの書いたやり方だと、DBNull.Value.ToString() = String.Empty なのでTextBox1.Textが空だと一致しちゃいます。