0

この for ループに相当する while ループを作成するにはどうすればよいですか。mysqlデータベースのテーブルの1行から読み取って、vb.netのコンボボックスに表示できるようにしました。

私はこのコードを使用しますが、行に 3 つ以上のアイテムが追加されている場合は、まったく役に立ちません。

Dim i As Integer
        Dim rdr As Odbc.OdbcDataReader
        rdr = con.readfrom_drug_type_table()
    For i = 0 To 1
        If rdr.HasRows = True Then
            rdr.Read()

            ComboBox2.Items.Add(rdr("Drug_type"))
        End If
    Next i

その Drug_type 行からすべてのデータを読み取りたいのですが、助けてください、ありがとう

4

2 に答える 2

3

使用するだけでなく、最初の行のみを読み取りたい場合

If rdr.Read() Then 
     ComboBox2.Items.Add(rdr("Drug_type")) 
End If 

アップデート

Try
    myConnection = New SqlConnection("server=localhost;uid=sa;pwd=;database=pubs")
    'you need to provide password for sql server
    myConnection.Open()
    myCommand = New SqlCommand("Select * from discounts", myConnection)
    dr = myCommand.ExecuteReader

        While dr.Read()
            WriteLine(dr(0))
            WriteLine(dr(1))
            WriteLine(dr(2))
            WriteLine(dr(3))
            WriteLine(dr(4))
            ' writing to console
        End While
Catch
End Try
dr.Close()
myConnection.Close()
于 2010-07-16T07:58:38.770 に答える
2

@pranayネストされたループは必要ありません。

Try
    myConnection = New SqlConnection("server=localhost;uid=sa;pwd=;database=pubs")
    myConnection.Open()
    myCommand = New SqlCommand("Select * from discounts", myConnection)
    dr = myCommand.ExecuteReader()
    While dr.Read()
        WriteLine(dr(0))
        WriteLine(dr(1))
        WriteLine(dr(2))
        WriteLine(dr(3))
        WriteLine(dr(4))
    End While
    dr.Close()
Finally
    myConnection.Close()
End Try
于 2010-07-16T09:44:23.133 に答える