Có vẻ như một lỗi chưa được giải quyết từ MySQL ODBC và C / API
Một giải pháp là thực hiện điều đó bằng cách sử dụng lệnh SQL với các biến đã chuẩn bị sẵn:
Dim rs As ADODB.Recordset
Set cmd = New ADODB.Command
cmd.ActiveConnection = cn
cmd.CommandType = adCmdText
cmd.CommandText = "call InsertList(?,?,?,@fResult)"
cmd.Parameters.Append cmd.CreateParameter("fName", adVarChar, adParamInput, 20, Text3.Text)
cmd.Parameters.Append cmd.CreateParameter("fType", adVarChar, adParamInput, 3, Text2.Text)
cmd.Parameters.Append cmd.CreateParameter("fFood", adVarChar, adParamInput, 20, Text1.Text)
cmd.Execute
'And after that, using the same connection, get the value of
'@fResult from a single query:
Set rs = cn.Execute("select @fResult as fResult")
MsgBox rs!fResult
Bạn sẽ nhận được giá trị mong đợi.