vb.net中的数据阅读器

时间:2010-07-16 07:54:23

标签: mysql vb.net datareader

请帮助,我如何制作一个while循环等效的for循环。这样我就可以从mysql数据库表中的一行读取并在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行的所有数据 请帮助,谢谢

2 个答案:

答案 0 :(得分:2)

如果您只想阅读第一行而不只是使用

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()

答案 1 :(得分: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