Jump to content

Chamar a execução da Função dentro da classe


sergio.iescas

Postagens Recomendadas

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

Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...