BANCO DE DADOS, QUANDO ABRIR E FECHAR?

 Tópico anterior Próximo tópico Novo tópico

BANCO DE DADOS, QUANDO ABRIR E FECHAR?

SQL / DATABASE

 Compartilhe  Compartilhe  Compartilhe
#370970 - 10/04/2011 03:47:42

FNANDOOD
MEDIANEIRA
Cadast. em:Dezembro/2009


Pessoal, criei um programa de escrita fiscal, para cadastro de Notas Fiscais de Entradas e Saídas.

Utilizo o banco Firebird, e minha dúvida é a seguinte:

Qual seria a maneira correta, para ABRIR, INCLUIR e FECHAR o banco de dados, para cada nota digitada?

Penso em fazer assim:
ex: digito a nota no. 1111, FORNECEDOR cnpj: 00222233366, valor contabil :00000,
1o. abro o banco para pesquisar se já existe a nota cadastrada e fecho o banco de dados;
3o. Se não está cadastrada, habilito os textbox para cadastro, então
4o. Depois que os textbox estão preenchidos e validados, abro o banco Firebird, insiro os dados, e fecho o banco.

Essa operação eu faço para cada nota que digito.

Quero saber se essa é a melhor maneira, se o meu sistema não ficará lento por abrir e fechar o BD tantas vezes em pouco tempo?







#370971 - 10/04/2011 04:13:14

TMLNANET

Cadast. em:Março/2006


Olá amigo, sim é a melhor forma de fazer!!...imagina se vc deixasse sua conexao com o bd aberta desde a consulta inicial e um "bendito" usuário pesquisa a NF e sai para almoçar sem realizar os passos 3 e 4 (citados por vc)..sua conexao ia ficar aberta por um belo tempo!!!..isso sim ia prejudicar seu sistema..



#370991 - 10/04/2011 13:40:18

LLAIA
ITABORAI
Cadast. em:Maio/2009


Sem falar que no caso do Firebird, é usado versionamento de registros. Um simples select é uma transação que vai criar um snapshot do registro (dependendo do isolamento transacional), se ficar aberta o tempo a conexão, alterações podem ocorrer e sua conexão não as enxergará.

Leandro Laia  
“Quando tudo o que você tem é um martelo, todos os problemas parecem pregos”

#370996 - 10/04/2011 14:30:03

TECLA
SAO PAULO
Cadast. em:Janeiro/2001


Membro da equipe
Independente da base, costumo ABRIR a conexão, USAR e em seguida FECHAR.




#370998 - 10/04/2011 14:50:06

LUIS HERRERA
NOVA ODESSA
Cadast. em:Julho/2005


Complementando, é importante lembrar que só a primeira conexão é um pouco mais lenta, nas demais os componentes já estarão carregados pelo windows em memória e assim será tão rápida que nem se percebe.
Isso já foi bem debatido aqui, seno a prática mais coeerente para banco de dados, sendo especialistas, sem contar mais seguro também.

LH
Preserve a Natureza
Faça Coleta Seletiva e Cuide da Fauna e Flora por onde passa ou vive.
Dedique um tempo ao seu espírito, mente sã e corpo são.
Você e sua famí­lia serão os maiores beneficiado.

#371006 - 10/04/2011 18:53:20

NETMANIA
BRASILIA
Cadast. em:Janeiro/2004


A regra padrão para qualquer banco é abra a conexão o mais tarde possível (quando estiver com a consulta montada) e feche o mais rápido possível (depois que tiver os dados ou alterado as informações).



#371020 - 11/04/2011 08:15:43

FEDERHEN
NOVO HAMBURGO / RS
Cadast. em:Abril/2006


Eu abro a conexão do banco no formulário mdi do projeto, ou seja, ao carregar o projeto e somente fecho a conexão ao fechar o projeto. Já trabalhei com Ms-Sql Server, Oracle,  Access e MySql e nunca tive problemas com o banco, nem com  integridade e nem com velocidade.

Quanto aos recordsets, esses eu faço a carga somente quando necessário e fecho assim  que não são mais necessários. Utilizo o .execute para fazer Insert, Update e Delete.



#371022 - 11/04/2011 08:30:15

CHARLESHF
BAURU
Cadast. em:Dezembro/2009


Também uso uma única conexão ao BD, do início ao fim da execução do projeto.

Nunca tive problemas também. Sempre usei MySQL ou SQL Server.



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por FNANDOOD em 18/04/2011 01:22:15