Dim strSQL As String
strSQL = "INSERT INTO [" & AccountCode & "].[Orders] (OrderID,OrderDate,BarUTC,OrderUTC,Exchange,Symbol,OrderSignedAmount,OrderPrice,Type,TargetPosition,AccountIdent,Status)" _
& " VALUES (@OrderID,@OrderDate,@BarUTC,@OrderUTC,@Exchange,@Symbol,@OrderSignedAmount,@OrderPrice,@Type,@TargetPosition,@AccountIdent,@Status)"
Dim cmd As New ADODB.Command
Set cmd.ActiveConnection = objMyConn
cmd.CommandText = strSQL
cmd.CommandType = adCmdText
cmd.NamedParameters = True
SeqNum = SeqNum + 1
AccountIdent = AccountCode + ":" + ModelCode
cmd.Parameters.Append cmd.CreateParameter("@OrderID", adInteger, adParamInput, -1, SeqNum)
cmd.Parameters.Append cmd.CreateParameter("@OrderDate", adDate, adParamInput, 0, Date)
cmd.Parameters.Append cmd.CreateParameter("@BarUTC", adDBTimeStamp, adParamInput, 0, Time)
cmd.Parameters.Append cmd.CreateParameter("@OrderUTC", adDBTimeStamp, adParamInput, 0, Time)
cmd.Parameters.Append cmd.CreateParameter("@Exchange", adVarChar, adParamInput, -1, "Future")
cmd.Parameters.Append cmd.CreateParameter("@Symbol", adVarChar, adParamInput, -1, Symbol)
cmd.Parameters.Append cmd.CreateParameter("@OrderSignedAmount", adInteger, adParamInput, , TargetPosition)
cmd.Parameters.Append cmd.CreateParameter("@OrderPrice", adDouble, adParamInput, , -1)
cmd.Parameters.Append cmd.CreateParameter("@Type", adVarChar, adParamInput, -1, "MARKETIOC")
cmd.Parameters.Append cmd.CreateParameter("@TargetPosition", adInteger, adParamInput, , TargetPosition)
cmd.Parameters.Append cmd.CreateParameter("@AccountIdent", adVarChar, adParamInput, -1, AccountIdent)
cmd.Parameters.Append cmd.CreateParameter("@Status", adVarChar, adParamInput, -1, "NEW")
cmd.Execute
Это дает мне «Необходимо объявить скалярную переменную ошибку„@OrderID“Ошибка при использовании параметров в ADODB
Почему?
http://stackoverflow.com/questions/7076801/error-must-declare-the-scalar-variable-for-insert-statements-in-multiple-data может помочь вам – R3uK
Нет, это совсем другая вещь. Речь идет о создании параметров в ADODB – ManInMoon
вы проверили с профайлером, как выглядит команда вставки, отправляемая в базу данных? Может быть, вы можете найти какую-то подсказку там – GuidoG