Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 无法检索从MS Access ADO中的存储过程返回的记录集_Sql Server_Ms Access_Stored Procedures - Fatal编程技术网

Sql server 无法检索从MS Access ADO中的存储过程返回的记录集

Sql server 无法检索从MS Access ADO中的存储过程返回的记录集,sql-server,ms-access,stored-procedures,Sql Server,Ms Access,Stored Procedures,我正在开发一个旧的MS Access(2007)应用程序(维护+更改)。当前的更改涉及将一段代码从select*from更改为调用一个存储过程,该存储过程返回一个简单的表(仅一个varchar列) 以下是MS Access中的代码部分: : Set Conn1 = CurrentProject.Connection Set Cmd1 = New ADODB.Command Cmd1.ActiveConnection = Conn1 Cmd1.CommandText = "p_Labels_Pri

我正在开发一个旧的MS Access(2007)应用程序(维护+更改)。当前的更改涉及将一段代码从
select*from
更改为调用一个存储过程,该存储过程返回一个简单的表(仅一个varchar列)

以下是MS Access中的代码部分:

:
Set Conn1 = CurrentProject.Connection
Set Cmd1 = New ADODB.Command
Cmd1.ActiveConnection = Conn1
Cmd1.CommandText = "p_Labels_Print"
Cmd1.CommandType = adCmdStoredProc

Cmd1.Parameters.Append Cmd1.CreateParameter("@_p_Button_type", adInteger, adParamInput)
Cmd1.Parameters.Append Cmd1.CreateParameter("@_p_Sampling_Request", adInteger, adParamInput)
Cmd1.Parameters.Append Cmd1.CreateParameter("@_p_Place", adVarChar, adParamInput, 16)
Cmd1.Parameters.Append Cmd1.CreateParameter("@_p_Sampler_Code", adVarChar, adParamInput, 16)
Cmd1.Parameters.Append Cmd1.CreateParameter("@_p_Total_Copies", adInteger, adParamInput)
Cmd1.Parameters.Append Cmd1.CreateParameter("@_p_Print_Option", adInteger, adParamInput)
Cmd1.Parameters.Append Cmd1.CreateParameter("@_p_Print_Option", adVarChar, adParamInput, 16)

Cmd1.Parameters(0).Value = 2
Cmd1.Parameters(1).Value = 2878954
Cmd1.Parameters(2).Value = "0C9991"
Cmd1.Parameters(3).Value = 89029
Cmd1.Parameters(4).Value = 10
Cmd1.Parameters(5).Value = 1
Cmd1.Parameters(6).Value = "S-SAPTEST"
Set Rs1 = Cmd1.Execute()


 ' Process results from recordset, then close it.
 :
 Rs1.Close
 :
现在,我知道调用过程时使用了正确的参数(和值,因为我正在从过程中记录到一个调试表中,我看到所有参数都被接收到,并且返回的表正好包含10条记录(如参数“4”所规定)

返回的表如下所示:

 +------------------------------------------------------+
 | One_Sticker                                          |
 +------------------------------------------------------+
 |WQSticker03@!@2878954@!@KRG000@!@BlaBla-1@!@S-SAPTEST |
 |WQSticker03@!@2878954@!@KRG000@!@BlaBla-1@!@S-SAPTEST |
 |WQSticker03@!@2878954@!@KRG000@!@BlaBla-1@!@S-SAPTEST |
 |WQSticker03@!@2878954@!@KRG000@!@BlaBla-1@!@S-SAPTEST |
 |WQSticker03@!@2878954@!@KRG000@!@BlaBla-1@!@S-SAPTEST |
 |WQSticker03@!@2878954@!@KRG000@!@BlaBla-1@!@S-SAPTEST |
 |WQSticker03@!@2878954@!@KRG000@!@BlaBla-1@!@S-SAPTEST |
 |WQSticker03@!@2878954@!@KRG000@!@BlaBla-1@!@S-SAPTEST |
 |WQSticker03@!@2878954@!@KRG000@!@BlaBla-1@!@S-SAPTEST |
 |WQSticker03@!@2878954@!@KRG000@!@BlaBla-1@!@S-SAPTEST |
 +------------------------------------------------------+
在MS Access中,我在语句
Rs1处设置了一个断点。关闭
并在
Rs1
上监视。然后,在
Rs1
中挖掘结果时,没有任何内容(意味着在Rs1的监视窗口中
字段>计数0


我是否遗漏了接收结果的内容(比如以某种方式定义了除Rs1以外的变量?

我发现了问题。声明:

SET NOCOUNT ON ;
在调用的存储过程开始时缺少。添加后,一切都按预期开始工作