Verificar se ja exixte no banco..
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...
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?????
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
Curtidas 0
Respostas
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, ..???
COloque um pouco mais do seu código ai, p/ facilitar..
Você trabalha com querys, tables, ..???
GOSTEI 0
Danielvbhp
14/05/2004
O codigo que eu uso para inserir dados no botao gravar... é:
ai esta....
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
14/05/2004
?????
GOSTEI 0
Danielvbhp
14/05/2004
Alguém poderia me ajudar??
GOSTEI 0
Danielvbhp
14/05/2004
será que alguém teria uma resposta sobre isso??????
GOSTEI 0
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.)
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
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????????
Como eu faço isso???? para verificar se ja existe no banco de dados o rg antes de gravar????????
GOSTEI 0
Rômulo Barros
14/05/2004
Já precisei fazer o que vc precisa.
Estrutura:
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)
:P Espero ter Ajudado !!!! :arrow: Rômulo Barros
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
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?????
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
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