cur = connection.cursor()
cur.execute("set nocount on exec SP")
while(cur.nextset()):
print(cur.description)
此代码生成10个表,有时生成11个。我希望能够使用while循环,因为每次表的数量可能不同。上面这段代码的问题是它生成了9个表,而不是10个表,因为cur.nextset((会运行并跳过第一个表。
我能做些什么来解决这个问题?我想把代码和工作循环起来。我需要一个更好的功能,与pyodbc模块一起工作。
有什么想法吗?
您可以通过将nextset()
检查移动到循环的底部来避免跳过第一个结果集:
cur.execute("set nocount on exec SP")
while True:
# do stuff with the result set
if not cur.nextset():
break
print("All result sets have been processed.")