ich habe zur Zeit ein Script auf dem Raspberry Pi laufen und möchte dort nun Funktionen ergänzen, die zum Programm gehören. Nur leider komme ich da nicht vorran.
MySQL Habe ich an sich schon benutzt aber noch nicht im Zusammenhang mit Python.
Es geht um folgende Funktion:
Code: Alles auswählen
def einlagern(scan):
abfrage = cursor.execute("SELECT * FROM warenlager WHERE barcode = '%s'" % scan)
if abfrage == 0:
print "Barcode unbekannt"
print ""
rows = cursor.fetchall()
for row in rows:
inmenge = input("Bitte Menge eingeben: ")
neuemenge = (int(row[2]) + int(inmenge))
cursor.execute("UPDATE warenlager SET menge=? WHERE barcode=?",(neuemenge, scan))
return
Der Codeteil erzeugt folgende Fehlermeldung:
Code: Alles auswählen
Traceback (most recent call last):
File "mysql.py", line 60, in <module>
einlagern(scan)
File "mysql.py", line 33, in einlagern
cursor.execute("UPDATE warenlager SET menge=? WHERE barcode=?",(neuemenge, scan))
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 159, in execute
query = query % db.literal(args)
TypeError: not all arguments converted during string formatting
Kann mir jemand verraten wodran dies liegt? Wenn zusätzliche Informationen benötigt werden, bitte fragen.
Michael
PS: Wenn wir gerade schon dabei sind, kann man mir vielleicht noch ein Tipp geben, wie man folgende MySQL Befehle in Python nutzt:
INSERT
DELET
COUNT (Habe ich zwar an sich indirekt genutzt, aber nur ob ein Datensatz vorhanden ist, ggf. benötigt man noch mal die COUNT Funktion.)
Dadrüber hinaus, gibt es die Möglichkeit, die Connectdaten aus zu lagern? Also ähnlich wie bei PHP per include - Befehl, dass man die so einbinden kann aus einer zweiten Datei?