2

ListBox から複数の選択された値をパラメーターとして Select SQL クエリに渡したいと思います。

VB.NET を使用していますが、これを実現するにはどうすればよいですか?...

4

3 に答える 3

0

おそらく最良の開始方法は、リスト ボックスを反復処理して、選択されている項目のみを取得することです。Web フォームを使用していると仮定すると、以下に例を示します。

For Each myItem As ListItem In myListBox.Items
    If myItem.Selected Then
        'Add the item to the list of parameters
    End If
Next
于 2010-03-09T22:05:26.183 に答える
0

リスト ボックスの項目を繰り返し処理して項目を選択し、何らかのコレクションに追加して渡します。

For i = 0 To ListBox1.Items.Count - 1
   If ListBox1.Items(i).Selected Then
       ' Add to collection
   End If
Next

このような状況では、パラメーターの送信方法に関して柔軟性が得られるため、SQL ステートメントをストアド プロシージャでラップすることをお勧めします。

私が使用した別のトリックは、人々が選択に基づいてさまざまな量のパラメーターを持っている場合、次のような常に真の条件に対して選択を追加することです。

ベース SQL = 選択 * MyTable から 1=1

次に、リスト項目 (コレクション) に基づいて、選択的に「追加」することができます。

于 2010-03-09T22:06:30.863 に答える
0

選択モードを SelectionMode.MultiExtended または SelectionMode.MultiSimple に設定します。SelectedItems プロパティを使用します。

アップデート

私はあなたの選択文が何であるかわからないので、C#で(申し訳ありませんがVB)

string sql = "select [columns] from [table] where [column] in (";
string delimiter = ",";
foreach(var selected in lb1.SelectedItems)
{
  sql = String.Concat(sql, selected.text, delimiter);
}
sql = sql.Substring(0, sql.Length-1);
sql = String.Concat(sql, @");");
于 2010-03-09T22:10:05.757 に答える