Python3-数据库sqlite3-sqlite3.OperationalError:没有这样的列:

时间:2020-04-19 14:42:11

标签: python-3.x database sqlite

我正在尝试创建一个小型且简单的会计程序,这是我的代码:

import sqlite3 as lite #db
import sys #db
from pathlib import Path #check file exists

successful_login = False

def login_process():
    print("Welcome to your accountance program, write your username: ")
    user = input()
    my_file = Path("./%s" % (user,))

    if my_file.is_file():
        con = lite.connect(user)
        main_loop()

    else:
        con = lite.connect(user)
        print("Write the name of your bank account: ")
        bankaccount = input()
        print("Write how much money do you have on it: ")
        starting_money = int(input())
        print(starting_money)

        with con:
            cur = con.cursor()
            cur.execute("CREATE TABLE Bank(Name TEXT, Money INT)")
            cur.execute("INSERT INTO Bank VALUES (%s,%s)" %  (bankaccount,starting_money))
        main_loop()

这是错误:

,

为什么会这样?

谢谢!

1 个答案:

答案 0 :(得分:0)

通过python sqlite API doc

# Never do this -- insecure!
symbol = 'RHAT'
c.execute("SELECT * FROM stocks WHERE symbol = '%s'" % symbol)

(仔细检查这个不安全的示例 应该可以说明该程序中的错误是什么)。

建议您使用文档来学习如何使用占位符。这是养成的重要习惯。

相关问题