代码之家  ›  专栏  ›  技术社区  ›  msbyuva

选择多个ListBox值作为选择SQL查询的参数

  •  2
  • msbyuva  · 技术社区  · 14 年前

    我想将列表框中的多个选定值作为参数传递给我的Select SQL查询。

    我正在使用VB.NET,我如何才能实现这一点?...

    3 回复  |  直到 14 年前
        1
  •  0
  •   Matthew Jones    14 年前

    可能最好的开始方式是遍历列表框,只获取选中的项。假设您使用的是Web表单,下面是一个示例:

    For Each myItem As ListItem In myListBox.Items
        If myItem.Selected Then
            'Add the item to the list of parameters
        End If
    Next
    
        2
  •  0
  •   Ta01    14 年前

    通过遍历列表框项来选择项,并将它们添加到某种类型的集合中并传递它们。

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

    在这样的情况下,将SQL语句打包在存储过程中可能是个好主意,因为它将为您如何发送参数提供灵活性。

    基本SQL=Select*From MyTable where 1=1

        3
  •  0
  •   adamcodes    14 年前

    将选择模式设置为selection mode.MultiExtended或SelectionMode.MultiSimple。 使用SelectedItems属性。

    我不知道你的select语句是什么,所以用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, @");");