Math a écrit :
Hallo allen,
Kan iemand mij uithelpen met het volgende;
Ik voer een SQL INSERT commando uit in Python maar het record wordt niet in de MySQL DataBase opgeslagen.
Wanneer ik het commando uitvoer, zie ik inn MySQL Administrator wel de toegevoegde rij verschijnen, maar
zodra ik het Python programma sluit is het aantal rijen weer 0.
Hier de code:
conn =
MySQLdb.connect(host="localhost",user="root",passwd="admin",db="marathon")
curs = conn.cursor()
statement = "INSERT INTO deelnemers (naam) VALUES ('Math');"
curs.execute(statement)
curs.close()
conn.close()
Alvast bedankt
Not really a wxPython thing, but...
You probably forgot to 'commit':
curs.execute(statement)
conn.commit()
curs.close()
conn.close()
Same thing for UPDATE.
Also, it's a good idea to put the .connect() to a separate function:
def myConnect():
return MySQLdb.connect(host="localhost",
user="root",
passwd="admin",
db="marathon")
def SomeFunction():
conn=myConnect()
curs=conn.cursor()
...
That way, you can change host, user, passd, db, or even the whole database engine (MySQL to SQLite or Oracle, for exemple) only once instead of everywhere in your code.
Hope this helps.
···
--
"If you try to stay sane in life, it'll just
drive you crazy. So, you may as well go crazy
now and have fun with life."
--MegaZone