- PR -

DatatableのSelectメソッドで0行の場合

1
投稿者投稿内容
まなか
常連さん
会議室デビュー日: 2008/04/17
投稿数: 37
投稿日時: 2009-02-10 12:00

dRow = dDt.Select("KEY_DT='" & dKeyDay & "'")(0)

上記のようにSelectメソッドでデータを探すのですが、
該当するデータがない場合に
「インデックスが配列の境界外です。」のエラーになってしまいます。
エラーにせずに、0件ならば、というようにしたいのですが、
どのようにすれば良いのか教えてください。
King
ぬし
会議室デビュー日: 2008/06/20
投稿数: 284
投稿日時: 2009-02-10 12:16
> dRow = dDt.Select("KEY_DT='" & dKeyDay & "'")(0)

じゃなくて

Dim foundRows() As DataRow = dDt.Select("KEY_DT='" & dKeyDay & "'")

として
foundRows の Length が 0 かどうかを条件式で見ればいいのでは。

あと雰囲気でわかりますけど
dDt と dRow が何なのかわからないので
書けるなら書いた方が良いですよ。

[ メッセージ編集済み 編集者: King 編集日時 2009-02-10 12:16 ]
まなか
常連さん
会議室デビュー日: 2008/04/17
投稿数: 37
投稿日時: 2009-02-10 12:54
Kingさん、ありがとうございます。

Dim dDt As System.Data.DataTable
Dim dRow As System.Data.DataRow()=dDt.Select("KEY_DT='" & dKeyDay & "'")

If dRow.Length = 0 Then

End If

でできました。


1

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