| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
rhyannc Novato

Registrado: Terça-Feira, 10 de Agosto de 2010 Mensagens: 67
|
Enviada: Ter Ago 10, 2010 7:01 pm Assunto: Tratamento de cadastro |
|
|
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 |
|
 |
rhyannc Novato

Registrado: Terça-Feira, 10 de Agosto de 2010 Mensagens: 67
|
Enviada: Ter Ago 10, 2010 11:02 pm 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; |
|
| Voltar ao Topo |
|
 |
felipecaputo Colaborador


Registrado: Quinta-Feira, 13 de Mai de 2010 Mensagens: 1719 Localização: Florianópolis / SC
|
Enviada: Qua Ago 11, 2010 8:53 am Assunto: |
|
|
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 |
|
 |
rhyannc Novato

Registrado: Terça-Feira, 10 de Agosto de 2010 Mensagens: 67
|
Enviada: Qua Ago 11, 2010 11:20 pm Assunto: |
|
|
Qual das duas voce axa mais viavel ou melhor ?
se fose voce qual delas utilizaria ? |
|
| Voltar ao Topo |
|
 |
felipecaputo Colaborador


Registrado: Quinta-Feira, 13 de Mai de 2010 Mensagens: 1719 Localização: Florianópolis / SC
|
Enviada: Qui Ago 12, 2010 9:21 am Assunto: |
|
|
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 |
|
 |
px3 Aprendiz

Registrado: Domingo, 16 de Mai de 2010 Mensagens: 148
|
Enviada: Qui Ago 12, 2010 6:08 pm Assunto: |
|
|
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 |
|
 |
felipecaputo Colaborador


Registrado: Quinta-Feira, 13 de Mai de 2010 Mensagens: 1719 Localização: Florianópolis / SC
|
Enviada: Qui Ago 12, 2010 6:39 pm Assunto: |
|
|
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 |
|
 |
px3 Aprendiz

Registrado: Domingo, 16 de Mai de 2010 Mensagens: 148
|
Enviada: Qui Ago 12, 2010 7:35 pm Assunto: |
|
|
| Firebard 2.0 |
|
| Voltar ao Topo |
|
 |
oneshotbr Colaborador


Registrado: Quarta-Feira, 6 de Mai de 2009 Mensagens: 1948 Localização: Taubaté - SP
|
Enviada: Sex Ago 13, 2010 7:43 am Assunto: |
|
|
| 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 |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Sex Ago 13, 2010 8:29 am Assunto: |
|
|
| 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 |
|
 |
oneshotbr Colaborador


Registrado: Quarta-Feira, 6 de Mai de 2009 Mensagens: 1948 Localização: Taubaté - SP
|
Enviada: Sex Ago 13, 2010 8:31 am Assunto: |
|
|
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 |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Sex Ago 13, 2010 9:19 am Assunto: |
|
|
| 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 |
|
 |
|