2017-06-22 31 views
0

在將變量插入到sqlite3中並且變量被散列時遇到問題。 這裏是我的代碼:在sqlite python中插入變量的麻煩

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, 路易斯·杜阿爾特。

+1

元組前加一個',' – Infinity

+0

' 「串」(東西)「'是無效的Python語法。 – ForceBru

回答

0

您也可以替換使用字符串的format方法

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

然後運行execute方法爲:

maindb.execute(insert_statement) 
+0

它工作謝謝! –