2013-05-14 2 views
0

나는 파이썬 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) 

및 INT 및 TIMESTAMP

create table f(id int, time TIMESTAMP) 

와 SQLite는 데이터베이스를하지만 난 파이썬이를 얻을 :

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") 

내가 당신이 이런 식으로 매개 변수화해야한다고 생각 INT 및 TIMESTAMP

create table a(test text) 
+0

SqLite에 전달하기 전에 유닉스 시간? –

+0

기본적으로 파이썬 2.4에는'sqlite' 모듈이 없습니다. 첫번째 스 니펫은'sqlite3' (stdlib에서)과 Python 2.7에서 잘 작동합니다. – jfs

답변

1

와 SQLite는 데이터베이스 :이 문제는 타임 스탬프와 함께 당신이로 변환 할 경우 발생하는

def metodo(date): 
     conn = sqlite.connect('dataBase.db') 
     c = conn.cursor() 
     c.execute("INSERT INTO a values(%s)", (date,)) 
     conn.commit() 
     conn.close() 
+1

[sqlite3] (http://docs.python.org/2/library/sqlite3.html)은'? ''매개 변수 소유자를 사용합니다. – jfs