Inserir Registro em um Banco. Qual a melhor maneira?
5 respostas
T
teteorpPJ
Olá pessoal.
Tenho um programa que precisa inserir um registro no banco. Simples, aparentemente. Mas me deparei com uma questao. Qual o mais interessante(correto, ou menos problematico) de se fazer ???
Eu devo fazer uma verificação se o CPF do individuo, por exemplo, ja existe na tabela (1 conexão) e depois fazer o insert (outra conexão) dependendo da verificação(caso nao exista)??
Eu faço a verificação do CPF e, se nao existe, e faço o insert. Tudo isso usando a mesma conexão.
Eu faço o insert direto e deixo o banco fazer a consistencia da Primary Key, uma vez que o CPF do individuo eh a PK da tabela.
Eu prefiro fazer minha própria consistência de dados, tudo com UMA conexão…
Se você utilizar a consistência do Banco vai acabar prendendo seu sistema à um BD específico…
C
ChalePJ
A maneira mais fácil de fazer isto é através de conexão com ACCESS,fazendo a inserção no Banco pela aplicação via TextField.
Interface gráfica, conexão e inserção no Banco, tudo no mesmo código.
Se quiser me manda uma mensagem que eu te passo um exemplo.
[email removido]
Abraço.
Charles
J
jaireltonPJ
Em um caso desses eu colocaria o cpf com unique na tabela e depois mandava inserir normalmente.
FieroddPJ
Se nao tiver problema depender do banco insira normalmente e deixe a PK informar se e repetido ou nao
agora se vc tiver q trocar de banco constantemente ou se for questao de estudo faça a sua propria consistencia
repare q de um jeito ou de outro vc tera de tratar o erro pois se aparecer pro usuario uma mensagen tipo
erro 0x804004 …blablabla
ai eh bem pior
F
FelipeSS_2PJ
Galera, não é assim não,vc temque usar o cpf como chave única sim…pois vc “economisa” uma ida ao banco só para verificar…e a mensagem de erro basta vc colocar a sua no catch ou coisa assim:" Esse cpf já existe…" não tem mistério…
Bom o mais recomendado é usar PreparedStatemente e inserir(usado beans , ou outra coisa qualquer, caso não esteja usando hibernate ou outro tipo de persistencia) Não se esqueça de fechar todas as conexões sempre