Saudações:
Alguém poderia por favor me explicar o que esta errado no código abaixo .
Estou tendo inserir no meu programa uma classe com as funções básicas para conexão e consulta no database.
Eu não estou conseguindo chamar a execução as funções criadas dentro da classe de conexão.
segue código:
-----------------------------------------------------------------------------------------------------------------------
import mysql.connector
class conexaoDB():
def __init__(self, host='localhost', user='root', pwd='', db='automatizaf'):
self.host = host
self.user = user
self.pwd = pwd
self.db = db
def conecta(self):
self.con = mysql.connector.connect(host=self.host,
user=self.user,
password=self.pwd,
database=self.db)
self.cur = self.con.cursor()
def desconeta(self):
self.con.close()
def executa_DQL(self, sql):
self.conecta()
self.cur.execute(sql)
res = self.cur.fetchall()
self.desconeta()
return res
def executa_DML(self, sql):
self.conecta()
self.cur.execute(sql)
self.con.commit()
self.desconeta()
instanc = conexaoDB()
cursor = instanc.conecta()
cursor.executa_DQL("SELECT * FROM tb_usuarios")
------------------------------------------------------------------------------------------------------------------------
segue Erro:
"C:\Users\Sergio Iescas\AppData\Local\Programs\Python\Python39\python.exe" "C:/Users/Sergio Iescas/PycharmProjects/automatiza2022/teste conexao.py"
Traceback (most recent call last):
File "C:\Users\Sergio Iescas\PycharmProjects\automatiza2022\teste conexao.py", line 38, in <module>
cur.executa_DQL('SELECT * FROM tb_usuarios')
AttributeError: 'NoneType' object has no attribute 'executa_DQL'
Process finished with exit code 1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
instanc = conexaoDB() *\ instancia da classe \*
cursor = instanc.conecta() *\ variável cursor recebe atributos na classe com a função conecta() \*
cursor.executa_DQL("SELECT * FROM tb_usuarios") *\ variável cursor chama execução do método dentro da classe com os parametros consulta mySQL \*
classe de conexão .py