Язык vbscript и классический ASP.
Следующий SQL работает, когда значения жестко запрограммированы в операторе sql:
sql = "UPDATE STORE2_ITEM SET sku = 'abcd' WHERE id = 224 and host_id = 1"
То, что я пытаюсь сделать, это добавить параметры, чтобы я заменил назначение field1 следующим:
sql = "UPDATE STORE2_ITEM SET sku = ? WHERE id = 224 and host_id = 1"
(пока просто, чтобы посмотреть, смогу ли я заставить этот параметр работать).
Я получаю следующую ошибку:
"Не задано значение для одного или нескольких обязательных параметров."
Остальной код выглядит следующим образом:
Set DynaDb = Server.CreateObject("ADODB.Connection")
DynaDB.ConnectionString = STORE_CONNECTION_STRING
DynaDb.Open
sql = "UPDATE STORE2_ITEM SET sku = ? WHERE id = 224 and host_id = 1"
Set cmd = Server.CreateObject("ADODB.Command")
cmd.CommandText = sql
cmd.CommandType adCmdText
cmd.Prepared = true
cmd.Parameters.Append(cmd.CreateParameter("", 200, 1, "AbcD"))
cmd.ActiveConnection = DynaDB
cmd.Execute
Другая информация:
Строка подключения:
Поставщик = SQLOLEDB.1; Источник данных = xxxxxxx; Первоначальный каталог = xxxxxx; Постоянная информация о безопасности = True; ID пользователя = xxxx; Идентификатор пользователя = mkj; ПАРОЛЬ = xxxxxx;
РЕДАКТИРОВАТЬ: я удалил код, который дал мне ошибку несоответствия типов, поскольку это действительно не имеет отношения.
РЕДАКТИРОВАТЬ: я удалил свой ответ здесь и опубликовал его как «Ответ» ниже.