请教关于python中sqlite的操作

下面这段代码哪里有问题啊,为什么总是报错


import sqlite3

conn = sqlite3.connect('./cb_state.db')
cu = conn.cursor()
cu.execute('select * from cb_state ')
conn.commit()
cu.close()

看起来你的代码没有任何问题,你可以尝试打印出来看看 cu 执行的结果。

import sqlite3
conn = sqlite3.connect('./cb_state.db')
cu = conn.cursor()
cu.execute('select * from cb_state ')
print(cu.fetchall())
conn.commit()
cu.close()

这样应该就能看到 cb_state 表中的数据了。如果仍然出现报错,那么把报错信息发给我,我会帮你看看。

在连接数据库之前你需要先判断 cb_state.db 数据库文件是否存在,如果不存在会报错。你可以使用 try except 语句来捕获这种情况:

import sqlite3

try:
    conn = sqlite3.connect('./cb_state.db')
    cu = conn.cursor()
    cu.execute('select * from cb_state ')
    conn.commit()
    cu.close()
except sqlite3.OperationalError as e:
    print(e)