0

このコードを実行すると、listbox空になります。SQLからデータを取得するための最良の方法は何listboxですか?フォームが送信されたら、CustomreID値データを使用して別のテーブルに格納したいと思います。インデックスを使用するのが最善の解決策だと思いました。

sSQL = "SELECT CustomerID, Company from Customers Order by Company ASC"

cmd = New SqlCommand(sSQL, moConn)
rs = cmd.ExecuteReader()

While rs.Read
   lsbDestination.Items.Insert(CInt(rs("CustomerID")), rs("Company"))
End While
4

2 に答える 2

2

DataSourceListBoxのプロパティを使用して、データをListBoxに簡単にバインドできます。このようなものを試してください(テストされていません):

Dim adapter As New SqlDataAdapter(cmd)
Dim ds As New DataSet
adapter.Fill(ds)

lsbDestination.DataTextField = "Company"
lsbDestination.DataValueField = "CustomerId"
lsbDestination.DataSource = ds.Tables(0)
lsbDestination.DataBind()

幸運を。

于 2013-01-24T21:24:43.180 に答える
0

ListBoxを使用してアイテムを追加する場合While rs.Read

Using rsAs SqlDataReader = cmd.ExecuteReader()
    While rs.Read()
        Dim items As Object() = {r("CustomerID"), r("Company").ToString()}
        listBox1.Items.Add(items)
    End While
    listBox1.DisplayMember = "Company"
    listBox1.ValueMember = "CustomerID"
End Using

問題が発生した場合はお知らせください。

于 2013-01-24T22:15:15.863 に答える