Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] como chamar as funções de CRUD fora do arquivo raiz? prepara_banco.py

Olá. eu estou fazendo a aula de flask porém estou desenvolvendo meu proprio projeto, meio que misturando oque o professor ensina com algumas ideas minhas, e em uma das aulas o professor disse para dividirmos o arquivo em varios arquivos .py cada um com suas funções, e assim o fiz , so que eu tb queria dividir o arquivo "prepara_banco" criado na aula pois eu adicionei alguns metados diferentes e gostaria de chamar essas funções em outros arquivos, porém quando eu chamo essas funções fora do arquivo me da um erro...

mysql.connector.errors.ProgrammingError: 2055: Cursor is not connected

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

O erro "Cursor is not connected" ocorre quando você tenta executar uma consulta usando um cursor que não está conectado ao banco de dados. Isso pode acontecer se a conexão com o banco de dados não tiver sido estabelecida corretamente antes de chamar as funções.

Certifique-se de que você está estabelecendo a conexão com o banco de dados antes de chamar as funções que dependem dessa conexão. Você pode fazer isso abrindo a conexão antes de chamar as funções e fechando-a após concluir as operações.

Aqui está um exemplo simplificado de como você pode organizar seu código:

import mysql.connector

# Função para estabelecer a conexão com o banco de dados
def conectar():
    conexao = mysql.connector.connect(
        host="seu_host",
        user="seu_usuario",
        password="sua_senha",
        database="seu_banco_de_dados"
    )
    return conexao

# Funções que dependem da conexão com o banco de dados
def ler_qrcode():
    conexao = conectar()
    cursor = conexao.cursor()
    comando = "SELECT * FROM tabela"
    cursor.execute(comando)
    # Restante do código...
    cursor.close()
    conexao.close()

# Chamada da função
ler_qrcode()

Certifique-se de adaptar o código acima com as configurações corretas do seu banco de dados. Dessa forma, você estará estabelecendo a conexão com o banco de dados antes de chamar as funções que executam consultas SQL.

solução!

criando as funções e separada cada parte deu certinho, muito obrigado