Asp classic 如何使用param运行存储过程并将结果存储为经典asp中的记录集
我无法找到一个完全涵盖这一点的问题/答案,因此我提出这个问题的原因。我需要做的是运行一个接受1个参数的存储过程。它将返回一组我需要存储在记录集中的结果。我计划稍后循环浏览此记录集。对于较旧的asp,我非常缺乏经验,但以下是我必须做的:Asp classic 如何使用param运行存储过程并将结果存储为经典asp中的记录集,asp-classic,parameters,recordset,procedure,Asp Classic,Parameters,Recordset,Procedure,我无法找到一个完全涵盖这一点的问题/答案,因此我提出这个问题的原因。我需要做的是运行一个接受1个参数的存储过程。它将返回一组我需要存储在记录集中的结果。我计划稍后循环浏览此记录集。对于较旧的asp,我非常缺乏经验,但以下是我必须做的: dim myConn Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open = ("DSN=example-dsn;SERVER=example-server;DATABASE=examp
dim myConn
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open = ("DSN=example-dsn;SERVER=example-server;DATABASE=example-db;UID=user;PWD=pass;")
dim oStoredProc : Set oStoredProc = Server.CreateObject("ADODB.Command")
With oStoredProc
.ActiveConnection = myConn
.CommandType = adCmdStoredProc
.CommandText = "myStoredProcedure"
.Parameters.Append(.CreateParameter("@PARAM1", ADODB.adInteger, ADODB.adParamInput, 10, 2012))
Dim rs : Set rs = .Execute()
End With
// Will loop through it here.
我的猜测是,我没有正确设置记录集,但正如我所说,我不是很确定。如果有人能给我指出正确的方向,我将不胜感激 您需要确保结果集是正确的对象
set rs = Server.CreateObject("ADODB.Recordset")
然后你将使用我认为它的工作原理如下:
rs.Open oStoredProc
然后使用的其他成员循环通过结果。好的,有一些事情我做错了,但这里是什么结束了我的工作。首先,事实证明我不需要传入参数,但这不是问题所在。其中一个主要问题是“adCmdStoredProc”没有被识别,这很奇怪,因为我在其他地方看到过它的使用,但用它的对应值4替换它确实有效
dim myConn, cmd
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open = ("DSN=[BLAH];SERVER=[SERVER];DATABASE=[BLAH];UID=[User];PWD=[Pass];")
dim oStoredProc : Set oStoredProc = Server.CreateObject("ADODB.Command")
oStoredProc.CommandType = 4
oStoredProc.CommandText = "StoredProcedureName"
oStoredProc.ActiveConnection = myConn
// Add parameters here if needed.
Dim rs
Set rs = oStoredProc.Execute()
// I Loop through here
rs.Close
myConn.Close
Set rs = Nothing
Set oStoredProc = Nothing
Set myConn = Nothing
我希望这对其他人有帮助
Dim rsStk As New ADODB.Recordset
Set rsStk = cnnPck.Execute("SP_JOB_ALL '" & Trim(te_Item) & "'")
Set Recordset= CONNECTION .Execute()
这是做这件事的一个简单方法这可能会有所帮助:我实际上阅读了这篇文章,并根据它做了大部分工作,但是我似乎不能完全正确地理解它。这与从命令的execute方法获取记录集有何不同?