我正在尝试创建一个小型且简单的会计程序,这是我的代码:
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()
这是错误:
为什么会这样?
谢谢!
答案 0 :(得分:0)
通过python sqlite API doc:
# Never do this -- insecure! symbol = 'RHAT' c.execute("SELECT * FROM stocks WHERE symbol = '%s'" % symbol)
(仔细检查这个不安全的示例 应该可以说明该程序中的错误是什么)。
建议您使用文档来学习如何使用占位符。这是养成的重要习惯。