fre1228 2023-03-05 23:31 采纳率: 83.3%
浏览 84
已结题

python代码创建表格,不知道为什么报错

这个代码刚才还可以运行,现在运行不了了,不知道怎么解决。


from Model.DBModel import DBTool

db = DBTool("test.db")
db("user", "name text, age int,cla int,score int")

# 插入一条记录
sql = 'insert into user (name, age, cla, score) values (?, ?)'
while True:
    name = input('请输入名称:')
    age = input('请输入年龄:')
    cla=input('请输入班级:')
    score=input('请输入成绩:')
    ob = [(name, age, cla, score)]
    T = db.exec(sql, ob)
    if T:
        print('插入成功!')
    else:
        print('插入失败!')
    go = input("是否继续插入(y/n):") # 询问是否继续输入
    if go == "n" or go == "N":
        break  # 跳出循环
# 查询插入的所有记录
sql = 'select * from user'
results = db.query(sql)    # 获取所有记录列表
for row in results:
    print("name=%s,age=%s,cla=%s,score=%s" % (row[0], row[1], row[2], row[3])) # 打印结果
db.close() # 关闭对象

img

  • 写回答

11条回答 默认 最新

  • 极客智能体-在线 2023-03-06 22:57
    关注

    以下答案由GPT-3.5大模型与博主波罗歌共同编写:
    首先看一下代码,可以看出来有一行是导入了一个自己写的模块 Model.DBModel 中的 DBTool 类,还有一行创建了一个 db 对象实例。这里猜测可能是 DBTool 类代码或者是导入方式出了问题,或者是该模块的路径或者名称发生了改变导致出错。

    因为报错信息并没有输出,因此需要先查看报错信息。可以尝试将代码运行放到 try except 语句块中,然后在 except 语句中输出错误信息。

    代码如下:

    import traceback
    try:
        from Model.DBModel import DBTool
        
        db = DBTool("test.db")
        db("user", "name text, age int,cla int,score int")
    
        sql = 'insert into user (name, age, cla, score) values (?, ?)'
        while True:
            name = input('请输入名称:')
            age = input('请输入年龄:')
            cla=input('请输入班级:')
            score=input('请输入成绩:')
            ob = [(name, age, cla, score)]
            T = db.exec(sql, ob)
            if T:
                print('插入成功!')
            else:
                print('插入失败!')
            go = input("是否继续插入(y/n):")
            if go == "n" or go == "N":
                break  # 跳出循环
    
        sql = 'select * from user'
        results = db.query(sql)
        for row in results:
            print("name=%s,age=%s,cla=%s,score=%s" % (row[0], row[1], row[2], row[3]))
        db.close()
    except:
        print(traceback.format_exc())
    

    运行之后,如果出现 error,则可以看到错误信息,进而定位问题、解决问题。
    如果我的回答解决了您的问题,请采纳!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(10条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月8日
  • 已采纳回答 3月8日
  • 赞助了问题酬金15元 3月5日
  • 创建了问题 3月5日

悬赏问题

  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂