无法在 sqlite 中插入变量 python

Trouble inserting variable in sqlite python

我在将变量插入到 sqlite3 中时遇到问题,并且该变量已被散列。 这是我的代码:

if passadefinir == passadefinir2:
    maindb.execute("DELETE FROM Password WHERE ID = 'not'")
    maindb.execute("INSERT INTO Password(ID) VALUES ('set')")
    encriptacao = hashlib.sha1(passadefinir2.encode())
    encriptado = (encriptacao.hexdigest(),)
    maindb.execute("INSERT INTO Password(Password) VALUES (?)" (encriptado,))
    conn.commit()

这是错误:

Traceback (most recent call last): File "sqlitetesting.py", line 28, in maindb.execute("INSERT INTO Password(Password) VALUES (?)" (encriptado,)) TypeError: 'str' object is not callable

祝你有愉快的一天 :D, 路易斯·杜阿尔特。

您可以使用 String 的 format 方法进行替换

password_var = 'your password'
insert_statement = 'INSERT INTO Password(Password) VALUES ({0})'.format('\'' + password_var + '\'')

然后运行执行方法为:

maindb.execute(insert_statement)