【发布时间】:2021-02-21 11:18:09
【问题描述】:
我写了一个数据库选择函数
def select_data():
conn = sqlite3.connect(dbpath)
cur = conn.cursor()
sql = "select VC_FUNDCODE from data_ds limit 100;"
fund_list = cur.execute(sql)
cur.close()
conn.close()
return fund_list
fund_list = select_data()
datalist = []
for item in fund_list:
datalist.append(item)
print(datalist)
当我尝试调用它时,解释器返回一个回溯:
Traceback(最近一次调用最后一次): 文件“/Users/chinalife/Desktop/source/flaskTiantian/database.py”,第 70 行,在 对于fund_list中的项目: sqlite3.ProgrammingError: 无法对关闭的游标进行操作。
【问题讨论】:
-
您在收到结果之前关闭游标。当你迭代它时会发生这种情况,而不是在你运行
execute()时。 -
好的,看看错误信息在哪里谈到了“关闭的光标”?用您自己的话来说,您认为光标是什么?你认为关闭它意味着什么,你认为它应该有什么影响?你的代码在哪里写
cur.close(),你为什么写它,你认为它是做什么的? -
非常感谢!我真的受到了启发并得到了解决方案。另外,这是我的第一个任务,你们对我很友好,再次感谢。