Jump to content

Como encapsular o código para não fechar o terminal após a consulta que faço?


Ir para a Solução Solucionado por paulo.antunesdesouza,

Postagens Recomendadas

Como eu posso encapsular o código, para não fechar o terminal após a consulta que eu faço? Sou iniciante em Python

# Importar o módulo Firebird-driver
from firebird.driver import connect, DatabaseError

# Módulo de configuração
from firebird.driver import driver_config

# Configuração do servidor
driver_config.server_defaults.host.value = 'IP'


try:

    # Usuário do FB
    driver_config.server_defaults.user.value = 'SYSDBA'

    # Senha do FB
    driver_config.server_defaults.password.value = 'senha_banco'

    # Teste da conexão
    con = connect('/u/banco/banco.fdb')
    print ('Conexão com o banco estabelecida com sucesso')

    #Criar um comando para executar a consulta
    cursor = con.cursor()

    #Executar a consulta
    user = input('Digite o nome do usuário: ')
    
    cursor.execute (f"select u.senha from usuario u where u.usuario = '{user}'")
    
    # Pegar os resultados
    resultado = cursor.fetchall()

    # Mostrar na tela a consulta
    for fila in resultado:
        print (fila)

except DatabaseError as e:
    # Se possuir erro mostrar uma mensagem
    print (f'Erro de conexão: {e}')

finally:
    # Encerrar a conexao
    print('Para sair pressione qualquer tecla')
    con.close()

 

  • Curtir 1
Link to comment
Compartilhe em outros sites

  • Casa do Desenvolvedor mudou o título para Como encapsular o código para não fechar o terminal após a consulta que faço?

Se você adicionar um input antes do fim do programa ele irá aguardar sua interação antes de fechar a conexão, exemplo deixar o ultimo bloco assim:

finally:
# Encerrar a conexão
print('Pressione qualquer tecla para sair...')
input() # Aguarda a entrada do usuário antes de fechar o terminal
con.close()

  • Curtir 1
Link to comment
Compartilhe em outros sites

  • Solução

Pessoal, consegui resolver, segue o código para quem mais precisar

Está bem comentado, pois como sou iniciante na linguagem, isso vai me auxiliar para as próximas

 

 try:
        # Teste da conexão
        con = connect('/u/banco/controle.fdb')
        print ('Conexão com o banco estabelecida com sucesso')

        #Criar um comando para executar a consulta
        cursor = con.cursor()

        #Executar a consulta


        # A variável user precisa receber o valor 0 por padrão por conta do while abaixo
        user = 0      
        user = int(input('Digite o código do usuário: '))

        # O laço de repetição while (enquanto) vai servira para enquanto o usuário digitar um código diferente de 0, ele exiba as informações na tela
        # Caso digite 0, o mesmo irá fechar a conexão com o banco de dados e irá fechar o programa.
        while user != 0: 
            
            cursor.execute (f"select u.empresa, nome, u.usuario, u.senha from usuario u where u.codigo = '{user}'")
        
            # Pegar os resultados
            resultado = cursor.fetchall()
        
            # Mostrar na tela a consulta
            for fila in resultado:
                print (fila)    

            
            # Solicitar o próximo código do usuário ou sair com 0
            user = int(input('Digite o código do usuário (ou 0 para sair): '))

    except DatabaseError as e:
    # Se possuir erro mostrar uma mensagem
        print (f'Erro de conexão: {e}')
    
    

finally:
    #Enderrar a conexao
    if 'con' in locals():
        con.close()

        print('Saindo do sistema')

 

  • Curtir 1
  • Amei 1
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...