如何从我的数据库 [VB.Net/MariaDB] 中获取所有列/行



我正在尝试使用MySQL.Data Nuget获取所有结果,因为我使用的是MariaDB。但是我的方法只在我的数据库中提供第一个条目,没有做更多的事情。

Public Function getAllFields(ByVal sql As String) As List(Of String)
        Dim output As List(Of String) = New List(Of String)
        Using cn = New MySqlConnection(connString.ToString())
            Using cmd = New MySqlCommand(sql, cn)
                cn.Open()
                Using rd = cmd.ExecuteReader()
                    rd.Read()
                    Dim objs(rd.FieldCount) As Object
                    Dim quant As Integer = rd.GetValues(objs)
                    Dim i As Integer
                    For i = 0 To quant - 1
                        output.Add(objs(i))
                    Next i
                    rd.Close()
                End Using
                cn.Close()
            End Using
        End Using
        Return output
    End Function

读取数据时,对rd.Read的调用将返回True,否则False。所以你需要循环直到它返回False .

Using rd = cmd.ExecuteReader()
    While rd.Read()
        Dim objs(rd.FieldCount) As Object
        Dim quant As Integer = rd.GetValues(objs)
        Dim i As Integer
        For i = 0 To quant - 1
            output.Add(objs(i))
        Next i
    End While
End Using

最新更新