Hallo zusammen,
ich stehe mal wieder auf dem Schlauch: Ich möchte Daten in eine SQLite Tabelle schreiben, unter anderem auch Datumswerte (genauer "Zeitstempel"). Den Zeitstempel möchte ich aus einer Variablen übergeben. Aktuell sieht das so aus:
Python
import time, datetime, sqlite3
from datetime import datetime
connection = sqlite3.connect('zeit.db')
cursor = connection.cursor()
cursor.execute('''CREATE TABLE zeitstempel (zeit TEXT)''')
while True:
now = datetime.now()
print(type(now))
print(now)
now = str(now)
print(type(now))
werte = (now)
sql = """INSERT INTO zeitstempel VALUES (?)"""
cursor.execute(sql,werte)
connection.commit()
time.sleep(5)
Alles anzeigen
Meine Ausgabe sieht so aus:
Code
>>> %Run zeit.py
<class 'datetime.datetime'>
2021-06-18 23:37:09.391385
<class 'str'>
Traceback (most recent call last):
File "/home/christian/Nextcloud2/python/zeit.py", line 22, in <module>
cursor.execute(sql,werte)
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 26 supplied.
Ich vermute, es hat damit zu tun, dass er irgendwie nicht mit dem Datetime Format zurecht kommt. Deshalb dachte ich mir, dass ich es zunächst in einen String umwandle. Ich stehe mal wieder auf dem Schlauch...