私はPythonの初心者です。誰かが、Pythonを使用してタプルの各項目に対してSQLクエリーを実行する方法を理解するのを助けてくれることを願っています。タプル内の各項目のSQLクエリーを実行する
私は、バッジリーダーシステムのためのいくつかのデータベースを含むSQL Expressサーバーを持っています。私がやろうとしているのは、特定のリーダーにスキャンしたユーザーIDを取得し、そのIDを使用して実際のユーザー名を取得することです。
現在、ユーザーIDを取得し、1つのIDだけを使用して他のテーブルのクエリを実行するクエリを実行できます。できることをしたいと思っている問題は、最初のクエリから作成されたタプル内のすべてのユーザーIDに対して2番目のクエリを実行しています。以下は私が現在使っている2つの関数のコードです。
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'の代わりに'? 'を使い、2番目の引数として値を渡します(そして、iterableであることを確認してください)。.execute()' ... – bernie