Jump to content

sergio.iescas

Membros
  • Contagem de Conteúdo

    3
  • Ingressou

  • Última visita

Postagens postado por sergio.iescas

  1. 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

×
×
  • Create New...