Não integrar o banco de dados com o sistema de login.
===============================================================
Erro apresentado:
AttributeError: 'function' object has no attribute 'fetchone'
==================================================================
[code=Python]
from tkinter import *
from tkinter import ttk
from tkinter import Tk, messagebox
import sqlite3
class Login:
db_name = 'testando.db'
def __init__ (self,wind):
self.wind = wind
self.wind.title('Comentario')
frame = LabelFrame ( self.wind, text = 'Adicionar um comentario')
frame.grid (row = 0 , column = 1)
Label (frame, text = 'Nome').grid(row = 1 , column = 1)
self.name = Entry(frame)
self.name.grid (row = 1 , column = 2)
Label (frame, text = 'senha').grid(row = 3 , column = 1)
self.senha = Entry(frame)
self.senha.grid (row = 5 , column = 1)
ttk.Button (frame, text = 'entrar', command = self.logar).grid (row = 3 , column = 4)
self.message = Label (text = '', fg = 'red')
self.message.grid (row = 3 , column = 0)
def run_query(self,query, parameters = ()):
with sqlite3.connect(self.db_name) as conn:
cursor = conn.cursor()
query_result = cursor.execute(query,parameters)
conn.commit()
return query_result
def logar(self):
if self.name.get() == "" or self.senha.get() =="":
messagebox.showerror (title='Erro', message='Preencha todos os campos!')
else:
query = 'SELECT * FROM login WHERE nome =? and senha=?'
parameters = (self.name.get(), self.senha.get())
self.run_query (query, parameters)
if self.run_query.fetchone() is not None:
messagebox.showinfo(title='Sucesso', message='sucesso')
else:
messagebox.showinfo(title='ERRO', message='Nome ou senha incorreta!')
if __name__ == '__main__':
wind = Tk()
application = Login (wind)
wind.mainloop()
[/code]

MariaLS
Novo Membro
Registrado
26 Mensagens
2 Curtidas