gpt4 book ai didi

mysql - 使用 ODBC sql 查询的结果填充 VBA 数组

转载 作者:行者123 更新时间:2023-11-30 23:13:03 25 4
gpt4 key购买 nike

我正在使用 VBA 查询 MySQL 数据库。这涉及使用我已经启动并运行良好的 ODBC 驱动程序。

我想在 VBA 多维数组中返回查询结果。 (列为字段,行为记录)

VBA 中的 ODBC MySQL 驱动程序存在一个已知问题,即属性 .RecordCount 的计算结果为 -1,而不是成功时的实际记录数。这意味着在循环遍历 .EOF 以提取记录之前,我无法使用它来调整数组大小。

我试过这个:

If Rs.RecordCount <> 0 Then //Just check if it's not false as recordcount is not fully functional
Fields = Rs.Fields.Count //This actually works
rw = 1
Dim result()
Do Until Rs.EOF
ReDim Preserve result(1 To rw, 1 To Fields)
C = 1
For Each MyField In Rs.Fields
result(rw, C) = MyField
C = C + 1
Next MyField
Rs.MoveNext
rw = rw + 1
Loop
get_result = result //Output the result
End if

但我收到错误 9:下标超出范围。这让我抓狂,在 php 中这将是微不足道的,但出于某种原因我无法在 VBA 中解决这个问题。有什么想法吗?

最佳答案

好的,哇,看来我需要做的就是使用 .getRows

所以我的代码变成了:

If Rs.RecordCount <> 0 Then 
get_result = Rs.getRows
End if

关于mysql - 使用 ODBC sql 查询的结果填充 VBA 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19111895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com