我在Azure中有一个SQL数据库,如下面的链接所示。我正在使用pyodbc在python中创建一个applet来更新数据库中人员的Elos。我制作了三个连接对象(每个列都有一个),并使用while循环迭代。
它将接收来自用户的输入,迭代直到找到输入的ID代码,并且由于所有游标都在同一个while循环中,Rating和Name游标将始终位于同一行。
https://i.stack.imgur.com/ZssyW.png
除了某些原因,ID列已排序。左边的表是Microsoft Sql Server Management Server的屏幕截图,右边的表是当三个游标每次迭代并打印时发生的情况。
如何修复此问题/导致此问题的原因?
这是我的代码的相关部分:
current_id = (ID_cursor.execute("SELECT LocalID FROM MEMBERS"))
current_rating = (rating_cursor.execute("SELECT Rating FROM MEMBERS"))
current_firstname = (firstname_cursor.execute("SELECT FirstName FROM MEMBERS"))
counter = 0
while counter < 10:
counter += 1
temp_id = ID_cursor.fetchone()[0]
temp_rating = rating_cursor.fetchone()[0]
temp_firstname = firstname_cursor.fetchone()[0]
print(temp_id, temp_firstname, temp_rating)
print("end")
答案 0 :(得分:1)
将self.configure(bg=color['background'], activebackground=color['background'],
borderwidth=0, highlightthickness=0, padx=0, pady=0)
子句应用于所有三个查询,以便以相同的方式对它们进行排序。我假设ORDER BY
是您的主要标识列?
LocalID
如果未指定current_id = (ID_cursor.execute("SELECT LocalID FROM MEMBERS ORDER BY LocalID"))
current_rating = (rating_cursor.execute("SELECT Rating FROM MEMBERS ORDER BY LocalID"))
current_firstname = (firstname_cursor.execute("SELECT FirstName FROM MEMBERS ORDER BY LocalID"))
子句,SQL Server可能会按ORDER BY
语句中的列进行排序。