【发布时间】:2014-11-07 04:54:37
【问题描述】:
我正在尝试对我的数据库运行查询,但在执行时不断收到错误 80004005 但不知道为什么?
Set adconn = Server.CreateObject("ADODB.Connection")
adconn.Open "justlistit_changes"
Set sqlgetad1 = Server.CreateObject("ADODB.Command")
sqlgetad1.ActiveConnection = adconn
sqlgetad1.commandtext = "Select * from ads where county = '" & selcounty & "' and where position='1'"
sqlgetad1.Prepared = true
sqlgetad1.execute
adconn.Close
当我只使用county 参数时,查询工作正常,但一旦我尝试在查询中的任何位置使用position,即使单独使用,查询也不会工作。我已经尝试过硬编码和使用变量,但没有任何效果,请帮忙。
【问题讨论】:
-
位置是什么类型的字段?试试
position=1而不是position='1' -
所以您使用
ADODB.Command对象但不费心为您的查询参数化?这样做有什么意义? -
你有完整的错误细节吗?
-
我在使用参数时无法运行其他查询,因此我将它们全部废弃。这个网站不是我建的,我只是接手了,之前没做过经典的asp
-
@adgoodso23 那就是你的问题。
ADODB.Command是正确的做法,你的前任是在正确的轨道上。至于"Select * from ads where county = '" & selcounty,这是记录在案的不良做法,让您对 SQL 注入持开放态度。
标签: sql vbscript asp-classic