我是Python新手,希望有人能幫助我弄清楚如何使用Python對元組中的每個項目執行SQL查詢。爲元組中的每個項目執行SQL查詢
我有一個SQL Express服務器,它包含一些徽章閱讀器系統的數據庫。我想要做的是將已掃描到的用戶標識拉入特定的閱讀器,然後使用這些標識獲取實際的用戶名。
目前,我能夠運行查詢來拉取用戶ID,並使用一個ID在另一個表上運行查詢。希望能夠做的事情,似乎有一個問題,正在對第一個查詢創建的元組中的每個用戶標識運行第二個查詢。以下是我目前使用的兩個函數的代碼。
def get_id():
global cardholder
global cur
cur.execute("SELECT user_id FROM db.table WHERE badgereaderid = 'badgereader1'")
cardholder = []
rows = cur.fetchall()
for row in rows:
if row == None:
break
cardholder.append(row[0])
print(cardholder)
def get_name():
global cardholder
global user
global cur
cur.execute("SELECT FirstName, LastName FROM db.table WHERE user_id= '%s'" % cardholder)
while 1:
row = cur.fetchone()
if row == None:
break
user = row[0] + row[1]
您可以循環'cardholder' ......除了以上:您正在使用連接到SQL Server Express模塊是什麼? – bernie
我正在使用pyodbc – mtnbiker1185
好的,在這種情況下,使用'?'而不是'%s'並將值作爲第二個參數(並確保它是可迭代的)傳遞給'.execute()'... – bernie