vb6.0使用带参数的sql语句update时,where条件中的参数失效
vb6.0的程序连接access数据库
conn.Open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & App.Path & "\测试.mdb;"
…………
cmd.CommandText = "Update 报表 SET 一月="200" WHERE 委托者 = @委托者"
Set tempParameter = cmd.CreateParameter("@委托者", adVarChar, adParamInput, 50, "cici")
cmd.Parameters.Append tempParameter
cmd.Execute
access的数据库中,“委托者”字段里有“cici”这个值,但是怎么都更新不了这一行,数据库中“委托者”字段的长度也是50,文本类型
请问如何解决? vb sql 数据库 access
[解决办法]
直接用conn执行试试:
conn.execute "Update 报表 SET 一月='200' WHERE 委托者 = 'cici'"
[解决办法]
ADO 对参数有自己的语法,只能用一个问号。但是后面 CreateParameter 时可以指定名称,只通过添加的顺序和 SQL 中的顺序进行关联。
cmd.CommandText = "Update 报表 SET 一月='200' WHERE 委托者 = ?"