Python PYODBC中的函数序列错误
我正在使用Python PYODBC中的函数序列错误,python,sql,pyodbc,Python,Sql,Pyodbc,我正在使用pyodbc连接到数据库并从中提取某些数据 这是我的密码: con = pyodbc.connect("driver={SQL Server};server= MyServer;database= MyDatabase;trusted_connection=true") cursor = con.cursor() SQL_command = """ SELECT RowID = ISNULL
pyodbc
连接到数据库并从中提取某些数据
这是我的密码:
con = pyodbc.connect("driver={SQL Server};server= MyServer;database= MyDatabase;trusted_connection=true")
cursor = con.cursor()
SQL_command = """
SELECT RowID = ISNULL
(
(
SELECT TOP 1 RowID
FROM [MyDatabase].[admin].[MyTable]
WHERE [queue] = ? and processed IS NULL
)
,-1
)
"""
cursor.execute(SQL_command, queueNumber)
cursor.commit()
con.commit()
result_set = cursor.fetchall()
运行上述代码后,我出现以下错误:
错误:('HY010','[HY010][Microsoft][ODBC SQL Server
驱动程序]功能序列错误(0)(SQLFetch)“”)
我可以知道是什么导致了这样的问题,我怎样才能解决它
谢谢。我相信你的问题在于奇怪的
commit
语句。插入或更新记录时,您只需提交,而不必选择
cursor.execute(SQL_command, queueNumber)
result_set = cursor.fetchall()
另外,将来在使用commit时,
同时使用cursor.commit
和con.commit
执行相同的操作,您只需要一个
最后,我习惯于使用第二个参数作为元组调用execute:
cursor.execute(SQL_command, (queueNumber,))
您使用它的方式适用于
pyodbc
,但不是DB API标准。谢谢,非常有用,因为pyodbc的文档比Matplotlib的文档少。