Verificar se ja exixte no banco..

Delphi

14/05/2004

Olá, eu tenho um programa de cadastro, e é o seguinte gostaria de saber se quando eu digitar o nome da pessoa verificar no banco se a ou não o nome que esta sendo digitado...

tenho um código que funciona de tab sendo enter...

{Para funcionar o enter como se fosse tab }
if Key = #13 then begin
Key := 0;
PostMessage(Handle, WM_NEXTDLGCTL, 0, 0);
end;


será que eu consigo fazer isso com este codigo.. mais quando eu der enter verificar se ha no banco este nome????

Para nunca acontecer dados duplicados?????


Danielvbhp

Danielvbhp

Curtidas 0

Respostas

Lucas Silva

Lucas Silva

14/05/2004

Dá pra fazer isto sim..
COloque um pouco mais do seu código ai, p/ facilitar..
Você trabalha com querys, tables, ..???


GOSTEI 0
Danielvbhp

Danielvbhp

14/05/2004

O codigo que eu uso para inserir dados no botao gravar... é:

 if DBEdit1.Text=´´ then begin
   Application.MessageBox(´Por favor, preencha o campo Nome´,´Campo Vazio.´,MB_OK+MB_ICONINFORMATION);
   DBEdit1.SetFocus;
   exit;
   end;
{Para Salvar Alterações}
DataModule1.SQLConexao.Post;
Showmessage(´Cadastro inserido com Sucesso...´);
Datamodule1.SQLConexao.First;


ai esta....


GOSTEI 0
Danielvbhp

Danielvbhp

14/05/2004

?????


GOSTEI 0
Danielvbhp

Danielvbhp

14/05/2004

Alguém poderia me ajudar??


GOSTEI 0
Danielvbhp

Danielvbhp

14/05/2004

será que alguém teria uma resposta sobre isso??????


GOSTEI 0
Repa

Repa

14/05/2004

Daniel,

Vc poderia usar um edit p/ entrar c/ o nome e depois c/ esse edit fazer a verificação pelo o índice(nome).
(Desculpa me intrometer mas, essa verificação de nome é algo muito ruim pq existem pessoas c/ mesmo nome.)


GOSTEI 0
Danielvbhp

Danielvbhp

14/05/2004

é cara realmente voce tem razão nome pode ter naum é, mais o rg da pessoa não????

Como eu faço isso???? para verificar se ja existe no banco de dados o rg antes de gravar????????


GOSTEI 0
Rômulo Barros

Rômulo Barros

14/05/2004

Já precisei fazer o que vc precisa.

Estrutura:

  Create Table Veiculos_veic
  Veiculo_Codigo : Integer;(PK)
  Veiculo_Empresa : Varchar; // Não pode ser repetido
  Veiculo_Placa : Varchar;
  Veiculo_Chassi : Varchar;


No botão Salvar, faço a verificação para ver se o Veiculo_Empresa a ser cadastrado já existe.

DataModule1: Name -> DMoAuxiliar;
DataModule2 : Name -> DMoVeiculo;
ClientDataSet1 : Name -> cdsAuxiliar; // Utilizado apenas para manutenção;
ClientDataSet2 : Name -> cdsVeiculo_veic; // Possui um Sql do tipo ´Select * From Veiculo_veic´
Edit: Name -> edtNumVeic; // É onde o usuário irá digitar o valor a ser inserido no campo Veiculo_Empresa(Não pode ser repetido)

Procedure BotaoSalvarClick(Sender : TObject)
Begin
    With(DMoAuxiliar.cdsAuxiliar)Do
    Begin
      Close;
      CommandText := ´SELECT VEICULO_EMPRESA FROM VEICULO_veic WHERE VEICULO_EMPRESA = ´ + QuotedStr(edtNumVeic.Text);
      Open;
      If(RecordCount = 0)And(DMoVeiculo.cdsVeiculo_veic.State = dsInsert)Then
      Begin
        DMoVeiculo.cdsVeiculo_veic.FieldByName(´VEICULO_EMPRESA´).AsString :=
          edtNumVeic.Text;
        Inherited;
      End
      Else
        If(DMoVeiculo.cdsVeiculo_veic.State = dsEdit)Then
        Begin
          With(DMoAuxiliar.cdsAuxiliar)Do
          Begin
            CommandText := ´SELECT VEICULO_EMPRESA FROM VEICULO_veic WHERE VEICULO_EMPRESA = ´ + QuotedStr(edtNumVeic.Text);
            Open;
          End;
          If(DMoAuxiliar.cdsAuxiliar.RecordCount = 0)Or(DMoAuxiliar.cdsAuxiliar.Fields[0].AsString =
           DMoVeiculo.cdsVeiculo_veic.FieldByName(´VEICULO_EMPRESA´).AsString)Then
          Begin
            DMoVeiculo.cdsVeiculo_veic.FieldByName(´VEICULO_EMPRESA´).AsString :=
             edtNumVeic.Text;
           Inherited
          End
          Else
            begin
              Application.MessageBox(´Veículo já cadastrado´, ´Atenção´, MB_OK + MB_ICONINFORMATION);
            end;
        End
        Else
          Application.MessageBox(´Veículo já cadastrado´, ´Atenção´, MB_OK + MB_ICONINFORMATION);
End;


:P Espero ter Ajudado !!!! :arrow: Rômulo Barros


GOSTEI 0
Danielvbhp

Danielvbhp

14/05/2004

tenho um código que funciona de tab sendo enter...

Código:

{Para funcionar o enter como se fosse tab }
if Key = #13 then begin
Key := 0;
PostMessage(Handle, WM_NEXTDLGCTL, 0, 0);
end;



será que eu consigo fazer isso com este codigo.. mais quando eu der enter verificar se ha no banco o RG digitado????

se tiver como, poderia passar o codigo para verificar?????


GOSTEI 0
Rômulo Barros

Rômulo Barros

14/05/2004

tenho um código que funciona de tab sendo enter... Código: {Para funcionar o enter como se fosse tab } if Key = #13 then begin Key := 0; PostMessage(Handle, WM_NEXTDLGCTL, 0, 0); end; será que eu consigo fazer isso com este codigo.. mais quando eu der enter verificar se ha no banco o RG digitado???? se tiver como, poderia passar o codigo para verificar?????


Afe !! Q preguiça !!!


if Key = 13 then
begin
Key := 0;
PostMessage(Handle, WM_NEXTDLGCTL, 0, 0);
// Coloque aqui o código postado no tópico anterior(com as devidas modificações);;; daí então, só é validar;; Faz uma rotina pra isso !!!! :wink:
end;


GOSTEI 0
POSTAR