2012-02-28 29 views
2
import sqlite3 
import datetime 

today = datetime.date.today() 

db_name = "test.db" 
db = sqlite3.connect(db_name, detect_types=sqlite3.PARSE_DECLTYPES) 
c = db.cursor() 
c.execute('create table changes (type string, file_name string, modified timestamp)') 
c.execute('insert into changes values(?, ?, ?)', ('M', 'source/test-this.rst', datetime.datetime.now())) 
db.commit() 
last_run = datetime.datetime(2012, 2, 27, 23, 22, 21, 613477) 
c.execute('''select modified from changes where modified > ?''', (last_run)) 
print c.fetchall() 

我得到這個錯誤...如何在Python中使用SQLite進行基於日期時間的查詢?

$ python sqlite.py 
Traceback (most recent call last): 
    File "sqlite.py", line 18, in <module> 
    c.execute('''select modified from changes where modified > ?''', (last_run)) 
ValueError: parameters are of unsupported type 

回答

3

只需使用一個元組:

c.execute('''select modified from changes where modified > ?''', (last_run,)) 

這是一個常見的問題...

+0

這工作。謝謝! – espeed 2012-02-28 06:16:45

+0

還有元組() – TeamBlast 2012-02-28 06:22:32

相關問題