Hey Leute,
ich hab mir mal wieder ein paar Gedanken gemacht und bin leicht am verzweifeln, weil das Python Programm nicht das macht, was es soll.
Erstmal zu der Aufgabenbeschreibung des Programmes:
Das Programm soll in der Aktuellen Version lediglich eine MySQL Datenbank abfragen, ob ein Bestimmter Datensatz enthalten ist und diesen soll er danach dann ausgeben. Idealerweise wäre super, wenn ich die Ausgabe in entsprechende Variablen bzw. einem Array speichern kann und diesen dann Aufteilen kann um eine schönere Ausgabe hin zu bekommen.
Das Programm soll aber auf Dauer noch um ein paar Funktionen erweitert werden. Und zwar soll es möglich sein, Datensätze zu verändern. Aber das kommt später.
Erst einmal der Code, welchen ich mir durch verschiedene Tutorials und Co zusammengeklöppelt habe:
import MySQLdb
connection = MySQLdb.connect(
host="Server",
db="Datenbank",
user="Benutzer",
passwd="Password"
)
cursor = connection.cursor()
c = input("Bitte Barcode scannen: ") #Barcode Scannen durch Barcodescanner
cursor.execute("SELECT * FROM warenlager WHERE barcode LIKE c")
cursor.fetchall()
Alles anzeigen
Dieser Code löst folgende Fehlermeldung aus:
Bitte Barcode scannen: 4008153003578
Traceback (most recent call last):
File "mysql.py", line 12, in <module>
cursor.execute("SELECT * FROM warenlager WHERE barcode LIKE c")
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1054, "Unknown column 'c' in 'where clause'")
Die Nutzung des Barcodescanners habe ich bereits vorher mit einer If - Abfrage getestet und das Klappt. Nun wollte ich aber keine irre Lange Konfigurationsdatei erstellen, wenn man doch so einfache Dinge wie eine MySQL Datenbank nutzen kann. Zumindest war das der erste Gedanke gewesen.
Es kann der Code ruhig als "Basis" genutzt werden um zu helfen. Wenn man aber was verbessern kann durch neuerstellung habe ich kein Problem damit.
In der Vergangenheit habe ich schon öfter mit MySQL Datenbanken gearbeitet, aber da war die Programmiersprache aber nicht Python sondern PHP gewesen.
Ich hoffe mir ist zu helfen
Michael