У меня возникли проблемы со скриптом vba в Excel, который должен считываться из базы данных 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подключение нормально, так как я запускаю другие сценарии с ним.Если кто-нибудь увидит, что я делаю не так, то любая помощь будет признательна.
Заранее большое спасибо.
Гарри