C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 選択されたListBoxの値を検索条件に含めたい


(過去ログ 91 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■54579 / inTopicNo.1)  選択されたListBoxの値を検索条件に含めたい
  
□投稿者/ ショシ (1回)-(2010/10/27(Wed) 01:02:57)

分類:[VB.NET/VB2005 以降] 

VB.NETのご質問をさせてください。

共通部品で作られたユーザーコントロールのListBoxを使う画面についてご質問です。

ListBoxには地名が入っていて
01 東京
02 大阪
といった感じで地名が50ほど入っています。01(CODE)はコードテーブルから。東京(NAME)は地名の入ったテーブルからとってきています。

ListBoxの他に画面には日時等が指定出来る条件があります。

ここにListBoxで選択した地名を日時の条件に含めたいのですがこの場合はどうしたらいいでしょうか?

Dim strwhere As String = ""
Dim i As Integer

For i = 0 To .List_Box.SelelctedItems.Count - 1
If i.Equals(0) Then
strwhere += " AND NAME IN ("
End If
strwhere += String.Format("{0}", .List_Box.Selecteditems(i)).Substring(0, 1)
Next
If i <> 0 Then
strwhere +=" )"
End if

こんな感じで書いてみましたがオブジェクト参照がインスタンスに〜というDBエラーが出てわかりません。


共通部品のListBoxの実装に苦戦しています。
どなたかご教授願えたらと思います。

引用返信 編集キー/
■54581 / inTopicNo.2)  Re[1]: 選択されたListBoxの値を検索条件に含めたい
□投稿者/ shu (124回)-(2010/10/27(Wed) 08:04:49)
No54579 (ショシ さん) に返信

> こんな感じで書いてみましたがオブジェクト参照がインスタンスに〜というDBエラーが出てわかりません。
ということはSQL文のエラーなので作成されたSQL文を実際にDBマネージャ上で実行してみると良いと思います。
そもそもDBへの接続がうまくいっているのか確認した方がよいと思います。


> If i.Equals(0) Then
> strwhere += " AND NAME IN ("
> End If
elseで , を連結しないとすべて区切り文字がなくなってしまいます。


> strwhere += String.Format("{0}", .List_Box.Selecteditems(i)).Substring(0, 1)
SubStringの2番目は取得する文字数なので2です。文字列の条件はDBに合ったリテラルで
表現する必要があります。通常はシングルクォートかダブルクォートで括る必要があります。
なので {0} => '{0}' などと変更した方が良いと思います。



引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -