【发布时间】:2009-10-09 02:28:09
【问题描述】:
语言是 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
其他信息: 连接字符串: Provider=SQLOLEDB.1;Data Source=xxxxxxx;Initial Catalog=xxxxxx;Persist Security Info=True;User ID=xxxx;User Id=mkj;PASSWORD=xxxxxx;
编辑:我删除了导致类型不匹配错误的代码,因为它确实不相关。
编辑:我在这里删除了我的答案,并将其发布为下面的“答案”。
【问题讨论】:
标签: sql-server asp-classic vbscript ado