ask-the-sky 2023-01-08 10:34 采纳率: 0%
浏览 10

请教关于python中sqlite的操作

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


import sqlite3

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

1条回答 默认 最新

  • m0_54204465 2023-01-08 12:43
    关注

    看起来你的代码没有任何问题,你可以尝试打印出来看看 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)
    
    
    评论

报告相同问题?

问题事件

  • 请详细说明问题背景 1月8日
  • 创建了问题 1月8日

悬赏问题

  • ¥15 圆孔衍射光强随孔径变化
  • ¥60 如何解除支付宝健康码7天解绑限制?
  • ¥15 MacBook pro m3max上用vscode运行c语言没有反应
  • ¥15 ESP-PROG配置错误,ALL ONES
  • ¥15 结构功能耦合指标计算
  • ¥50 AI大模型精调(百度千帆、飞浆)
  • ¥15 非科班怎么跑代码?如何导数据和调参
  • ¥15 福州市的全人群死因监测点死亡原因报表
  • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
  • ¥15 系统2008r2 装机配置推荐一下