我正在尝试使用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