Code: Alles auswählen
#Aus dem Konstruktor:
#Tupel mit den Spalten der Datenbank
self.dbCols = ('id', 'vorname', 'zuname', 'nachname', 'anrede', 'adresse', 'plz', 'ort', 'land',
'privatnummer', 'privatfaxnummer', 'mobilnummer', 'bueronummer', 'buerofaxnummer', 'email')
#def add():
sqlCols = ''
sqlPlazeHolders = ''
for cols in self.dbCols:
sqlCols += cols + ','
sqlPlazeHolders += ':' + cols + ','
sqlCols = sqlCols[:-1]
sqlPlazeHolders = sqlPlazeHolders[:-1]
print sqlCols
print sqlPlazeHolders
sql = 'INSERT INTO addresses (%s) VALUES (%s)' % (sqlCols, sqlPlazeHolders)
print sql
#Führt den SQL-Befehl aus und ersetzt die Platzhalter (Per Dictionary)
self.cur.execute(sql,{'vorname':vorname, 'zuname':zuname,
'nachname':nachname, 'anrede':anrede, 'adresse':adresse, 'plz':plz,
'ort':ort, 'land':land, 'privatnummer':privatnummer, 'privatfaxnummer':privatfaxnummer,
'mobilnummer':mobilnummer, 'bueronummer':bueronummer, 'buerofaxnummer':buerofaxnummer, 'email':email})
self.con.commit()
Spalten:
id,vorname,zuname,nachname,anrede,adresse,plz,ort,land,
privatnummer,privatfaxnummer,mobilnummer,
bueronummer,buerofaxnummer,email
Platzhalter
:id,:vorname,:zuname,:nachname,:anrede,:adresse,
:plz,:ort,:land,:privatnummer,:privatfaxnummer,:mobilnummer,
:bueronummer,:buerofaxnummer,:email
SQL:
INSERT INTO addresses (id,vorname,zuname,nachname,anrede,
adresse,plz,ort,land,privatnummer,privatfaxnummer,
mobilnummer,bueronummer,buerofaxnummer,email)
VALUES (:id,:vorname,:zuname,:nachname,:anrede,
:adresse,:plz,:ort,:land,:privatnummer,:privatfaxnummer,
:mobilnummer,:bueronummer,:buerofaxnummer,:email)
Traceback (most recent call last):
File "/home/gottesworkstation/Python/Adressenverwaltung.py", line 499, in -toplevel-
main()
File "/home/gottesworkstation/Python/Adressenverwaltung.py", line 477, in main
adr.add('Tobias','Helmut','Hoebel','Herr','Togostr 19','81827','Muenchen','Deutschland','08943571732','','01793248225','','','
tobsi-h@gmx.de')
File "/home/gottesworkstation/Python/Adressenverwaltung.py", line 116, in add
self.cur.execute(sql,{'vorname':vorname, 'zuname':zuname, 'nachname':nachname, 'anrede':anrede, 'adresse':adresse, 'plz':plz,
ProgrammingError: You did not supply a value for binding 1.