sql >> Databasteknik >  >> RDS >> Mysql

Anropa MySQL lagrad procedur med VB6 med OUT-parameter

Det verkar vara en olöst bugg från MySQL ODBC och C/API

En lösning är att utföra det med ett SQL-kommando med förberedda variabler:

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

Du får det förväntade värdet.




  1. Hur man använder REPLACE i SQL

  2. Flera databas och transaktioner

  3. Saknat värde för primärnyckel-id Doctrine Symfony2

  4. Oracle-tabell dynamisk partition