我正在尝试使用Python将值插入数据库表。我已连接到数据库服务器并已使INSERT INTO sql语句工作,但我无法弄清楚如何将列表中的值插入到我的数据库中。我认为我的问题很简单,只是正确地使用了for-in循环,但我不知道如何修复它。
我需要帮助的一句话就是“for in in cur: cur.execute(“INSERT INTO Events2013 VALUES(i))”)“
以下是我的代码的一部分:
import cx_Oracle
import fileDb
import g
fileDb.loadTeams()
fileDb.loadEvents()
for event in g.eventList:
print '%s, %s, %s' % (event.eventName, event.eventType, event.dates)
dsn_tns = cx_Oracle.makedsn('hostname', 1521, 'orcl')
con = cx_Oracle.connect('std15', 'std15', dsn_tns)
cur = con.cursor()
for i in cur:
cur.execute("INSERT INTO Events2013 VALUES (i))")
cur.execute("SELECT * FROM Events2013")
for result in cur:
print result
cur.execute("COMMIT")
cur.close()
con.close()
答案 0 :(得分:2)
cur.execute("INSERT INTO Events2013 VALUES (i))")
i
不会自动扩展为变量(它作为文字i
传递)
我想你需要像
这样的东西for event in g.eventList:
cur.execute("INSERT INTO Events2013 VALUES ('%s','%s','%s')" % (event.eventName, event.eventType, event.dates))