gpt4 book ai didi

mysql - VBA脚本从MySql数据库读取时出现问题

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

我在使用 Excel 中的 vba 脚本时遇到一些问题,应该是从 MySql 数据库读取。 SQL 查询应该只返回一个记录但实际上返回一个空结果集。通过 phpMyAdmin 运行时,生成的语句工作正常。

这是我的代码:

Function getClientId(emailAddress As String)
Dim rs As ADODB.Recordset
Dim sql As String

ConnectDB

Set rs = New ADODB.Recordset

sql = "SELECT client_id FROM clients WHERE email_address = '" & emailAddress & "' LIMIT 1"
Debug.Print sql
rs.Open sql, oConn

Debug.Print rs.RecordCount

If (rs.RecordCount = -1) Then
getClientId = Null
Else
getClientId = rs(0)
End If
rs.Close
End Function

编辑:我的数据库连接功能。

Function ConnectDB()
On Error GoTo ErrHandler

Set oConn = New ADODB.Connection
oConn.Open "DRIVER={MySQL ODBC 5.1 Driver};" & _
"SERVER=localhost;" & _
"DATABASE=mydb;" & _
"USER=user;" & _
"PASSWORD=password;" & _
"Option=3"

'Debug.Print oConn

Exit Function
ErrHandler:
MsgBox Err.Description, vbCritical, Err.Source
End Function

ConnectDB 函数连接正常,因为我正在运行其他脚本 用它。如果有人能看到我做错了什么那么任何帮助都会 值得赞赏。

提前非常感谢。

加里

最佳答案

MyODBC 未正确提供 RecordCount 属性。

Re: Problem with RecordCount with ASP & MySQL

rs.recordcount = -1 with myODBC

Re: ADO Connection RecordCount

因此,如果您确实需要 RecordCount,请将 CursorLocation 属性设置为 adUseClient。如果没有,只需像这样迭代 RecordSet:

Do While Not rs.EOF
'...do your magic
rs.MoveNext
Loop

关于mysql - VBA脚本从MySql数据库读取时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19855495/

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