我使用CakePhp作为一个小应用程序。在这个应用程序中,我存储了一些存储过程(我使用mssql)。现在我想执行这些存储过程并希望使用结果集。CakePHP mssql存储使用参数的过程(无效光标状态)
如果我没有任何参数调用存储过程我想要我想没有任何问题。但是,当我调用另一个存储过程的参数我得到错误“无效光标状态”)。我做了一些研究,并且我明白那里似乎是因为结果状态而执行多重选择。
在CakePHP我打电话:
这是没有任何问题的运行
$res = $db->query("Exec storeProcedureWithoutParams");
在这里,我得到的错误与光标
$res = $db->query("Exec storeProcedureWithParams 'param1'");
的存储过程是非常简单的:
CREATE PROCEDURE [dbo].[storeProcedureWithoutParams]
AS
SELECT [u1]
,[u2]
,[u3]
,[u4]
,[u5]
,[u6]
FROM [testdb].[dbo].[test]
CREATE PROCEDURE [dbo].[storeProcedureWithParams]
@test nvarchar(50)
AS
SELECT [u1]
,[u2]
,[u3]
,[u4]
,[u5]
,[u6]
FROM [testdb].[dbo].[test]
where [u6] <> @test
如果我直接在数据库执行这两个查询,我会得到两个返回值。第一个是select语句的结果,第二个是结果集。如果我理解它是正确的,这是问题,因为我得到两个结果(这就是为什么光标错误)。但我不知道如何解决它,我不知道如何才能得到没有返回状态的select语句的结果?
任何人都可以帮助我吗?
非常感谢!
格尔茨
V