【发布时间】:2011-10-04 21:48:10
【问题描述】:
我的数据库访问代码如下:
set recordset = Server.CReateObject("ADODB.Recordset")
set cmd1 = Server.CreateObject("ADODB.Command")
cmd1.ActiveConnection = Conn //connection object already created
cmd1.CommandText = "SELECT * FROM lbr_catmaster where catname = ?"
cmd1.CommandType = adCmdText
set prm = cmd1.CreateParameter("@prm", 200, 1,200 , "development")
cmd1.Parameters.Append prm
set recordset = cmd1.Execute
但是没有数据库命中。请帮助解决这个问题。我使用的是 sql server 2005。
谢谢。
【问题讨论】:
-
你在哪里说'连接对象已经创建' - 你能发布完整的代码吗?您是否正确打开连接?您是否收到任何错误消息,或者只是一个空记录集? (你是否使用 On Error Resume Next?)
-
@DylanBeattie:我知道这一点是因为当我从查询中简单地删除参数部分和“where 子句”时,它会返回记录。我也在使用 sql profiler 来检查它,但没有命中到 db。没有显示错误消息。
-
adCmdText是否在任何地方定义?您没有按名称引用任何其他 ADO 常量。 -
@CheranS:是的,它被定义为 Const adCmdText = &H0001
-
我认为,如果它甚至没有命中数据库,可能是它给出了错误但它被抑制了?但是当我将参数名称“@prm”代替“?”时,它会给出错误。在我的查询中..有什么方法可以知道发生了什么?
标签: vbscript asp-classic ado