У меня есть этот код в Python 2.4:Sqlite и питон метка времени
import datetime, time, sqlite
def metodo(date):
conn = sqlite.connect('dataBase.db')
c = conn.cursor()
c.execute("INSERT INTO f values(?,?)", (3,date))
conn.commit()
conn.close()
end_date=datetime.datetime(2012, 10, 21, 0, 0)
print end_date
metodo(end_date)
и SQLite базы данных с междунар и TIMESTAMP
create table f(id int, time TIMESTAMP)
, но я получить это в Python:
Traceback (most recent call last):
File "prueba.py", line 13, in ?
metodo(end_date)
File "prueba.py", line 6, in metodo
c.execute("INSERT INTO f values(?,?)", (3,date))
File "/usr/lib/python2.4/site-packages/sqlite/main.py", line 255, in execute
self.rs = self.con.db.execute(SQL % parms)
TypeError: not all arguments converted during string formatting
Этот код работает хорошо. Проблема с отметкой времени:
import datetime, time, sqlite
def metodo(date):
conn = sqlite.connect('dataBase.db')
c = conn.cursor()
c.execute("INSERT INTO a values(%s)", date)
conn.commit()
conn.close()
metodo("stringTest")
и SQLite базы данных с междунар и TIMESTAMP
create table a(test text)
что произойдет, если вы преобразовать его в UNIX, прежде чем передать его в SqLite? –
По умолчанию модуль 'sqlite' на Python 2.4 отсутствует. Первый фрагмент отлично работает с 'sqlite3' (из stdlib) и Python 2.7. – jfs