Hallo zusammen,
ich habe bei meinem Python3-Programm einen Fehler, den ich nicht lösen kann - auch alle Versuche mit Chatgpt helfen nicht.
Ich habe mir eine MariaDB10-Installation auf meiner Synology-NAS gemacht. Hier gibt es ein Datenfeld "km", in das ich mir die Entfernung in km abspeichere.
Das Datenfeld ist in MariaDB als INT4 (also ein 4-stelliges Integerfeld) mit NULL = Nein und STANDARD = 0 definiert.
Wenn ich einen bereits bestehenden Datensatz bearbeite, erscheint der Fehler nicht, nur wenn ich einen neuen Datensatz anfüge, das Feld km also noch "unbenutzt" ist.
Ich hole die Daten aus dem Eingabefeld mit: km = km_var.get()
und speichere dann mit:
# Neuer Eintrag
query = "INSERT INTO Funker (Ort, km, Kanal, Antenne, Relais, Realname, Skipname, Kommentar) \
VALUES (%s, %s, %s, %s, %s, %s, %s, %s)"
cursor.execute(query, (ort, km, kanal, antenne, relais, realname, skipname, kommentar))
Hierbeit erhalte ich dann folgende Fehlermeldung:
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python3.10/tkinter/__init__.py", line 1921, in __call__
return self.func(*args)
File "/media/wolfgang/temps/home/Programmierungen/Python/Funk/Funkerliste/funkerliste10.py", line 219, in create_new
cursor.execute(query, (ort, km, kanal, antenne, relais, realname, skipname, kommentar))
File "/home/wolfgang/.local/lib/python3.10/site-packages/mysql/connector/cursor_cext.py", line 345, in execute
prepared = self._connection.prepare_for_mysql(params)
File "/home/wolfgang/.local/lib/python3.10/site-packages/mysql/connector/connection_cext.py", line 878, in prepare_for_mysql
result = self._cmysql.convert_to_mysql(*params)
_mysql_connector.MySQLInterfaceError: Python type builtin_function_or_method cannot be converted
Die fehlerhafte Zeile 219 ist die mit cursor.execute(
Wer kann mir sagen, was ich hier falsch mache ?