2012-08-05 48 views
0

我做功课的数据库:解析URL并插入

http://zetcode.com/db/sqlitepythontutorial/

http://www.kitebird.com/articles/pydbapi.html (及以上)

目标:

do_POST方法被调用时,我想解析URL并将其存储到数据库中。

代码:

import SimpleHTTPServer 
import SocketServer 
import urlparse 
import sqlite3 as lite 

# Otherwise, we get some weird threading issue. 
con = lite.connect('storage.db',check_same_thread = False) 
cur = con.cursor() 
cur.execute("DROP TABLE IF EXISTS Events") 
cur.execute("CREATE TABLE Events(wtype TEXT, wtId INT, actiong TEXT)") 
def do_PUT(self): 

    s = urlparse.urlparse(self.path) 
    #print s 
    a = s.path.split('/') 
    print a[1] 
    print a[2] 
    print a[3] 
      ##(this didn-t work, so I tried putting it in a try-except block and adding connect statements: 
    ##cur.execute("INSERT INTO Events VALUES(?, ?, ?)",(a[1],a[2],a[3])) 


    try: 
     con = lite.connect('storage.db',check_same_thread = False)     cur = con.cursor() 
     cur.execute("INSERT INTO Events VALUES(?, ?, ?)",("HELLO", 5, "friend") 
     con.commit() 
    except lite.Error, e: 
     print "error" 
    finally: 
     print "done" 

错误:

cun-80-147:newclone curtisservaas1$ python mainserver.py 
    File "mainserver.py", line 48 
    con.commit() 
    ^
SyntaxError: invalid syntax 
cun-80-147:newclone curtisservaas1$ " 

展望未来:

我想能够自动递增我做的条目但首先,我需要能够实际输入数据库。

Meta: 我在这里没有问太多的问题,所以对如何编写更好的问题的建议表示赞赏。 Crocker's rules applies。我认为标题可以改进(这也将帮助我找出如何找到类似的问题)。

回答

0

这是一个python语法异常,而不是SQL问题。

线:

cur.execute("INSERT INTO Events VALUES(?, ?, ?)",("HELLO", 5, "friend") 

缺少在端部具有右括号。