2017-06-22 2 views
0

J'ai un problème pour insérer une variable dans sqlite3 et la variable est hachée. Voici mon code:Problème lors de l'insertion d'une variable dans 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() 

est ici l'erreur:

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

Avoir une belle journée: D, Luis Duarte .

+1

Ajouter un ',' avant le tuple – Infinity

+0

' "string"(substance,)" ' n'est pas une syntaxe Python valide – ForceBru

Répondre

0

Vous pouvez remplacer en utilisant la méthode de chaîne format

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

puis exécutez la méthode d'exécution comme:

maindb.execute(insert_statement) 
+0

Cela a fonctionné Merci! –