在 pymssql 中使用"query"和"callproc"调用存储过程之间



我有一个存储在SQL Server上的存储过程,并使用pymssql连接到该数据库。

我可以通过成功调用cursor.query('EXEC FindPerson')来调用此过程。 但是我不能使用该方法cursor.callproc('FindPerson', (name,)),我得到了这个错误

"NoneType"和"int"实例之间不支持"<">

我想知道为什么我不能调用callproc方法。我想使用callproc的原因是能够从过程中循环不同的结果集。

我还尝试在此方法上放置不同的存储过程,无论我输入的参数是什么,我总是得到相同的错误。因此,似乎该方法甚至在进入程序之前callproc失败了。问题是调用存储过程的正确方法是什么?

下面是存储过程的示例。

CREATE PROCEDURE FindPerson
@name VARCHAR(100)
AS 
BEGIN
SELECT * 
FROM persons 
WHERE name = @name
END

您需要在元组中传递名称参数。 试试 cursor.callproc('FindPerson', (personname,((

最新更新