【发布时间】:2019-10-17 19:00:16
【问题描述】:
以下代码从 MySql 连接中提取数据并返回数组(输出)。 只有在运行查询之前指定了行数和列数时,此二维数组才有效。
有没有办法解决这个问题?非固定数组大小? 请帮忙!
Public Function GetUsers() As String(,)
Dim GetCommand As MySqlCommand
Dim SQL As String = "Select * From users"
Dim output(,) As String
Dim intRowCount As Integer = 2
Dim intColumnCount As Integer = 3 ' Users Count
ReDim output(intColumnCount - 1, intRowCount - 1)
Dim GetMyConn As New MySqlConnection
GetMyConn.ConnectionString = "server = mysql.com;user id=rtest;password=test1234;database=rtestdb;"
GetMyConn.Open()
GetCommand = New MySqlCommand(SQL, GetMyConn)
Dim counter As Integer = 0
Try
Dim getResult As Object = GetCommand.ExecuteReader()
While getResult.Read()
output(counter, 0) = getResult("username").ToString()
output(counter, 1) = getResult("game_ip").ToString()
counter = counter + 1
End While
Catch e As MySqlException
MessageBox.Show("There was an error accessing your data. DETAIL: " & e.ToString())
End Try
GetMyConn.Close()
Return output
End Function
'''
【问题讨论】:
-
@nkb 为什么要删除 cmets?
-
我正在写答案,但出现了一些问题,所以我暂时删除了答案
-
有什么特殊原因需要二维数组吗? .net 中还有其他与数据检索更兼容的数据结构。想到一个 DataTable 或一个 List(Of T)。您的数据中的所有字段都是字符串类型吗?