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的文档少。