我使用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()
在运行上述代码后,出现以下错误:
pyodbc.Error: ('HY010', '[HY010] [Microsoft][ODBC SQL Server Driver]Function sequence error (0) (SQLFetch)')
我能知道是什么引起了这样的问题吗?我怎样才能解决它?
谢谢。
我相信你的问题是奇怪的声明。插入或更新记录时,您只需
commit
,而不需要选择。而且,在将来使用
commit,
同时使用cursor.commit
和con.commit
执行相同的操作时,您只需要一个。最后,我习惯了用第二个参数作为元组调用execute:
这种方法适用于
pyodbc
,但不是DB API标准。相关问题 更多 >
编程相关推荐