ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Tratamento de cadastro

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
rhyannc
Novato
Novato


Registrado: Terça-Feira, 10 de Agosto de 2010
Mensagens: 67

MensagemEnviada: Ter Ago 10, 2010 7:01 pm    Assunto: Tratamento de cadastro Responder com Citação

Boa Noite a todos
Acabei de entrar no forum, sou iniciante e axei mt bacana o forum

estou com uma duvida para fazer um tratamento de cadastro tipo login nao pode se igual a um que ja tem cadastrado no banco

tentei fazer utilizando locate mas sempre dava que ja tinha o login no banco mas pelo que percebi quando eu ia digitando os dados ele ja ia indo para a tabela no banco de dados (vi isso pela Grid ,pq ia aparecendo nela) ai quando eu mandava salvar que ele fazia a comparacao pelo locate mas axo que ele esta vendo esse registro que acabei de colocar so que nao avia dado o POST ainda e tanto que se eu fechar o sistema e abri ele denovo os dados nao estao lah mais
estou utilizando Firebard 2.0

Obrigado a todos
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
rhyannc
Novato
Novato


Registrado: Terça-Feira, 10 de Agosto de 2010
Mensagens: 67

MensagemEnviada: Ter Ago 10, 2010 11:02 pm    Assunto: Responder com Citação

segue o codigo que utilizei


if dm.tblfuncionario.State = dsInsert then
begin
if dm.tblfuncionario.Locate('login' , dm.tblfuncionario.FieldByname('login').value, []) then
begin
ShowMessage('Login ja Cadastrado');
exit;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
felipecaputo
Colaborador
Colaborador


Registrado: Quinta-Feira, 13 de Mai de 2010
Mensagens: 1719
Localização: Florianópolis / SC

MensagemEnviada: Qua Ago 11, 2010 8:53 am    Assunto: Responder com Citação

Neste caso tenho 2 soluções práticas para você:

Usar clientdataset para inserir os dados e um sqldataset para verificar o cadastros.

Não utilizar componentes TDBEdit e sim Tedit e depois disso inserir no banco utilizando uma rotina de insert
_________________
if Post.State = psResolvido then
Post.Caption := Post.Caption + ' [RESOLVIDO]';
_____________________________________________
O único homem que está isento de erros, é aquele que não arrisca acertar. Albert Einstein
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
rhyannc
Novato
Novato


Registrado: Terça-Feira, 10 de Agosto de 2010
Mensagens: 67

MensagemEnviada: Qua Ago 11, 2010 11:20 pm    Assunto: Responder com Citação

Qual das duas voce axa mais viavel ou melhor ?

se fose voce qual delas utilizaria ?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
felipecaputo
Colaborador
Colaborador


Registrado: Quinta-Feira, 13 de Mai de 2010
Mensagens: 1719
Localização: Florianópolis / SC

MensagemEnviada: Qui Ago 12, 2010 9:21 am    Assunto: Responder com Citação

eu usaria o clientdataset. é mas prático e se aplica em várias situações (praticamente o único tipo de dataset (trio sqldataset, dataset provider, clientdataser) q uso em cadastros, vendas e etc)
_________________
if Post.State = psResolvido then
Post.Caption := Post.Caption + ' [RESOLVIDO]';
_____________________________________________
O único homem que está isento de erros, é aquele que não arrisca acertar. Albert Einstein
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
px3
Aprendiz
Aprendiz


Registrado: Domingo, 16 de Mai de 2010
Mensagens: 148

MensagemEnviada: Qui Ago 12, 2010 6:08 pm    Assunto: Responder com Citação

ah ok
e me da so uma ajuda em como utilizar ele , nao tenho a minima ideia de como funciona

no meu sistema atualmente esta assim
tenho um DATAMODULO onde tem as TABELAS no Formulario tem o DATASOURCE que esta ligado as tabelas e os DBEdit onde esta ligado ao DataSource

oq eu teria que mudar ?

Obrigado
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
felipecaputo
Colaborador
Colaborador


Registrado: Quinta-Feira, 13 de Mai de 2010
Mensagens: 1719
Localização: Florianópolis / SC

MensagemEnviada: Qui Ago 12, 2010 6:39 pm    Assunto: Responder com Citação

qual banco de dados?
_________________
if Post.State = psResolvido then
Post.Caption := Post.Caption + ' [RESOLVIDO]';
_____________________________________________
O único homem que está isento de erros, é aquele que não arrisca acertar. Albert Einstein
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
px3
Aprendiz
Aprendiz


Registrado: Domingo, 16 de Mai de 2010
Mensagens: 148

MensagemEnviada: Qui Ago 12, 2010 7:35 pm    Assunto: Responder com Citação

Firebard 2.0
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
oneshotbr
Colaborador
Colaborador


Registrado: Quarta-Feira, 6 de Mai de 2009
Mensagens: 1948
Localização: Taubaté - SP

MensagemEnviada: Sex Ago 13, 2010 7:43 am    Assunto: Responder com Citação

Citação:
Não utilizar componentes TDBEdit e sim Tedit e depois disso inserir no banco utilizando uma rotina de insert


Eu sei como insere por Tedit mas se fizer assim ele não deixa ter a chave primária duplicada ?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Sex Ago 13, 2010 8:29 am    Assunto: Responder com Citação

oneshotbr escreveu:
Citação:
Não utilizar componentes TDBEdit e sim Tedit e depois disso inserir no banco utilizando uma rotina de insert


Eu sei como insere por Tedit mas se fizer assim ele não deixa ter a chave primária duplicada ?
De onde vc vem com esta pergunta amigo? É deste post mesmo?

Sobre sua duvida, vc pode fazer uma verificação com locate ou select mesmo passando o valor do edit como variavel para ver se existe no banco, caso exista então faça um exception.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
oneshotbr
Colaborador
Colaborador


Registrado: Quarta-Feira, 6 de Mai de 2009
Mensagens: 1948
Localização: Taubaté - SP

MensagemEnviada: Sex Ago 13, 2010 8:31 am    Assunto: Responder com Citação

Ue !

Aqui ele mostrou como se trata o erro.

Citação:
Enviada: 11 Ago 2010 02:02 Assunto:
segue o codigo que utilizei


if dm.tblfuncionario.State = dsInsert then
begin
if dm.tblfuncionario.Locate('login' , dm.tblfuncionario.FieldByname('login').value, []) then
begin
ShowMessage('Login ja Cadastrado');
exit;
end;


Depois falaram isso.

Citação:
Neste caso tenho 2 soluções práticas para você:

Usar clientdataset para inserir os dados e um sqldataset para verificar o cadastros.

Não utilizar componentes TDBEdit e sim Tedit e depois disso inserir no banco utilizando uma rotina de insert
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Sex Ago 13, 2010 9:19 am    Assunto: Responder com Citação

oneshotbr escreveu:
Ue !

Aqui ele mostrou como se trata o erro.

Citação:
Enviada: 11 Ago 2010 02:02 Assunto:
segue o codigo que utilizei


if dm.tblfuncionario.State = dsInsert then
begin
if dm.tblfuncionario.Locate('login' , dm.tblfuncionario.FieldByname('login').value, []) then
begin
ShowMessage('Login ja Cadastrado');
exit;
end;


Depois falaram isso.

Citação:
Neste caso tenho 2 soluções práticas para você:

Usar clientdataset para inserir os dados e um sqldataset para verificar o cadastros.

Não utilizar componentes TDBEdit e sim Tedit e depois disso inserir no banco utilizando uma rotina de insert
Vc pode utilizar os componentes que vc tem intimidade, não necessariamente o clientdataset e edit, isso foi apenas um comentario...Mais se vc achar melhor usar dbedit sem problemas, apenas acho que neste caso melhor passar o valor d texto do dbedit para uma variavel, e asi sim tratar o exception. Fica mais facil.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB