【发布时间】:2014-02-20 17:59:02
【问题描述】:
我整天都在尝试解决这个问题,但它似乎对我不起作用。我想执行一个命令并将结果返回到记录集。
问题是两件事之一:要么我得到一个空响应,要么我的代码有问题。我确信这个命令应该从数据库中获取几行。我在循环中添加了response.write,但它们从未被打印出来。
代码如下:
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "PROVIDER=SQLOLEDB;DATA SOURCE=X;DATABASE=Y;UID=Z;PWD=W;"
Set objCommandSec = CreateObject("ADODB.Command")
With objCommandSec
Set .ActiveConnection = Conn
.CommandType = 4
.CommandText = "usp_Targets_DataEntry_Display"
.Parameters.Append .CreateParameter("@userinumber ", 200, 1, 10, inumber)
.Parameters.Append .CreateParameter("@group ", 200, 1, 50, "ISM")
.Parameters.Append .CreateParameter("@groupvalue", 200, 1, 50, ismID)
.Parameters.Append .CreateParameter("@targettypeparam ", 200, 1, 50, targetType)
End With
set rs = Server.CreateObject("ADODB.RecordSet")
rs = objCommandSec.Execute
while not rs.eof
response.write (1)
response.write (rs("1_Q1"))
rs.MoveNext
wend
response.write (2)
已编辑 修改代码后,按照@Joel Coehoorn 的回答,解决方案是:
set rs = Server.CreateObject("ADODB.RecordSet")
rs.oppen objCommandSec
而不是...
set rs = Server.CreateObject("ADODB.RecordSet")
rs = objCommandSec.Execute
【问题讨论】:
-
+1 仅用于在旧 asp 中使用参数化查询。
-
@JoelCoehoorn 谢谢,我尝试了最好的方法。那么你有什么建议吗?
标签: sql asp-classic ado