Я пишу запрос в forloop, и я не знаю, где я ошибаюсь.Короче говоря, мне нужно сделать цикл for и в выражении WHERE указать содержание dict.Кто-нибудь может мне помочь?
import pyodbc
class Dbconnect:
playerslist:list
server:str
database:str
username:str
password:str
cnxn:str
cursor :object
query:str
def __init__(self, playerslist):
self.playerslist = playerslist
return
def insertdb(self,cursor,players):
self.cursor = cursor
for x,y in enumerate(players):
self.query =(f"SET NOCOUNT ON; INSERT INTO [dbo].[players] (player_id,first_name,last_name,surname,rating) " \
f"VALUES({(players[x]['id'])},'{str(players[x]['firstname'])}','{str(players[x]['lastname'])}',"
f"'{str(players[x]['surname'])}',{players[x]['rating']})")
self.cursor.execute(self.query)
На самом деле, когда я делаю код выше, я получаю этот результат без интерполяции>: (* 1004 *
INSERT INTO [dbo].[players] ([player_id],[first_name],[last_name],[surname],[rating]) VALUES({players[x]['id']},{players[x]['firstname']},{players[x]['lastname']},{players[x]['surname']},{players[x]['rating']}))
Что я делаю не так?