-1

我正在尝试使用 Python 将值插入数据库表中。我已连接到数据库服务器并已使 INSERT INTO sql 语句正常工作,但是我无法弄清楚如何将列表中的值插入到我的数据库中。我认为我的问题很简单,只涉及正确使用 for-in 循环,但我不知道如何解决它。

我需要帮助的行是“for i 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()
4

1 回答 1

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))
于 2013-10-27T03:39:33.587 回答