habe leider ein kleines problem, und komme nicht weiter,
habe ein kleines skript geschrieben mit dem man adressen verwalten kann,
welche in eine datenbank in mysql gespeichert werden.
bei der funktion "alle" klappt die formatierung, nur
bei "namen" nicht

was mache ich falsch?
Code: Alles auswählen
def alle(db):
cur = db.cursor()
#cur.execute("SELECT * FROM Anschrift")
cur.execute("SELECT Anschrift_ID, Name, Nachname, Straße, PLZ, Ort, Telefon, Handy, email, DATE_FORMAT(Geburtstag, '%d.%m.%Y') AS Geburtstag FROM Anschrift;")
for row in cur.fetchall():
print '---------------------'
print 'Nr.: ', row[0]
print 'Name: ', row[1]
print 'Nachname: ', row[2]
print 'Straße: ', row[3]
print 'PLZ: ', row[4]
print 'Ort: ', row[5]
print 'Telefonnr.:', row[6]
print 'Handy: ', row[7]
print 'Email: ', row[8]
print 'Geburtstag:', row[9]
print '----------------------'
def namen(db):
eingabe = str(raw_input('Namen: '))
cur = db.cursor()
#cur.execute("SELECT * FROM Anschrift where Name = %s", (eingabe))
cur.execute("SELECT Anschrift_ID, Nachname, Straße, PLZ, Ort, Telefon, Handy, email, DATE_FORMAT(Geburtstag, '%d.%m.%Y') AS Geburtstag FROM Anschrift where Name = '%s'", (eingabe))
for row in cur.fetchall():
print '---------------------'
print 'Nr.: ', row[0]
print 'Name: ', row[1]
print 'Nachname: ', row[2]
print 'Straße: ', row[3]
print 'PLZ: ', row[4]
print 'Ort: ', row[5]
print 'Telefonnr.:', row[6]
print 'Handy: ', row[7]
print 'Email: ', row[8]
print 'Geburtstag:', row[9]
print '----------------------'
EDIT:
sry habe das wichtigste vergessen

Code: Alles auswählen
0 = Beenden
1 = alle anzeigen
2 = nach Namen Suchen
3 = Neuer Eintrag
4 = Löschen
Es sind: 1 Einträge vorhanden
eingabe: 2
Namen: Joe
Traceback (most recent call last):
File "/home/user1/.eclipse/org.eclipse.platform_3.7.0_155965261/plugins/org.python.pydev_2.7.1.2012100913/pysrc/pydevd.py", line 1397, in <module>
debugger.run(setup['file'], None, None)
File "/home/user1/.eclipse/org.eclipse.platform_3.7.0_155965261/plugins/org.python.pydev_2.7.1.2012100913/pysrc/pydevd.py", line 1090, in run
pydev_imports.execfile(file, globals, locals) #execute the script
File "/home/user1/workspace/Datenbank/mysql/anschrieft.py", line 129, in <module>
main()
File "/home/user1/workspace/Datenbank/mysql/anschrieft.py", line 116, in main
namen(db)
File "/home/user1/workspace/Datenbank/mysql/anschrieft.py", line 38, in namen
cur.execute("SELECT Anschrift_ID, Nachname, Straße, PLZ, Ort, Telefon, Handy, email, DATE_FORMAT(Geburtstag, '%d.%m.%Y') AS Geburtstag FROM Anschrift where Name = '%s'", (eingabe))
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 159, in execute
query = query % db.literal(args)
TypeError: %d format: a number is required, not str