I am trying to add values from a listwidget which is in this case is named as listPlayerschosen
. I tried two ways of doing it:
1.) I first took all the items of it in to a list . and then tried inserting them in database using executemany
program gives an exception just after executemany
statement
def saveteam(self):
listMain = []
try:
for p in range(self.listPlayerschosen.count()):
pname = self.listPlayerschosen.item(p).text()
cursorfc.execute("SELECT value FROM stats WHERE player='" + pname + "';")
tup = cursorfc.fetchone()
tname = self.teamName.text()
playervalue = (''.join(map(str, tup)))#changing tuple to string
listInsert = (tname, pname, playervalue)
listMain.append(listInsert)
print(listMain)
print('hi')
cursorfc.executemany("INSERT INTO teams VALUES( ?, ?, ?);", listMain)
print('hi')
fcdb.commit()
print('hi')
except:
print('exception')
2.) Before trying this I was doing this but I don't why execute only adds one element to the table when I use execute
def saveteam(self):
tname = self.teamName.text()
for i in range(self.listPlayerschosen.count()):
if self.listPlayerschosen.item(i) == None:
continue
else:
pname = self.listPlayerschosen.item(i).text()
cursorfc.execute("SELECT value FROM stats WHERE player='" + pname + "';")
print('0')
value = (''.join(map(str, cursorfc.fetchone())))#changing tuple to string
print('1')
cursorfc.execute("INSERT INTO teams VALUES ('{}','{}','{}');".format(tname, pname, value))
print('2')
fcdb.commit()
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…