COMO VALIDAR REGISTRO AO EDITAR

Delphi

10/12/2008

Olá!
estou com um probleminha, no meu programa tem um campo codigo e cnpj, quando vou inserir um novo registro eu consigo testar se ja existe o mesmo registro na tabela. O problema é que não estou conseguindo elaborar linhas de comando para testar regsitros em modo de edição. Estou usando mysql e delphi 7 abaixo está o meu código que não funciona na hora de editar:
Ocorre o seguinte erro: sql error: duplicate entry for key ´idx_cnpj´


procedure TDM.ZQryClienteBeforePost(DataSet: TDataSet);
begin
if(dm.ZQryCliente.state= DSInsert)then

With(DM.ZReadQryCliente)do

begin
Close;
Sql.Clear;
Sql.Add(´Select * from CLIENTE where CODIGO= :PCOD ´);
Parambyname(´PCOD´).AsString:= CadCliente.DBEdit1.Text;
Open;
if not(IsEmpty)then
begin
ShowMessage(´CODIGO já cadastrado!´);
CadCliente.DBEdit1.SetFocus;
Close;
Abort;
end
else
begin
Close;
Sql.Clear;
Sql.Add(´Select * from CLIENTE where CNPJ= :PCNPJ´);
Parambyname(´PCNPJ´).AsString:= CadCliente.DBEdit3.Text;
Open;
If not(IsEmpty)then
begin
ShowMessage(´CNPJ já cadastrado!´);
CadCliente.DBEdit1.SetFocus;
Close;
Abort;
end
else
if(DM.ZQryCliente.State= DSEdit)then
begin
if( messagedlg(´CNPJ ja cadastrado, confirma alteração?´,mtconfirmation,[mbyes, mbno],0)= mrNO) then
DM.ZQryCliente.Cancel;
end;
end;
end;
end;


Freeborn

Freeborn

Curtidas 0

Respostas

Facc

Facc

10/12/2008

Amigo... nunca escreva o titulo do tópico em caixa alta, dá impressão de vc estar gritando.


GOSTEI 0
Freeborn

Freeborn

10/12/2008

Amigo... nunca escreva o titulo do tópico em caixa alta, dá impressão de vc estar gritando.


perdão pela minha ignorância virtual


GOSTEI 0
Freeborn

Freeborn

10/12/2008

consegui resolver o problema criando variaveis para comparar com a tabela.


Olá! estou com um probleminha, no meu programa tem um campo codigo e cnpj, quando vou inserir um novo registro eu consigo testar se ja existe o mesmo registro na tabela. O problema é que não estou conseguindo elaborar linhas de comando para testar regsitros em modo de edição. Estou usando mysql e delphi 7 abaixo está o meu código que não funciona na hora de editar: Ocorre o seguinte erro: sql error: duplicate entry for key ´idx_cnpj´ procedure TDM.ZQryClienteBeforePost(DataSet: TDataSet); begin if(dm.ZQryCliente.state= DSInsert)then With(DM.ZReadQryCliente)do begin Close; Sql.Clear; Sql.Add(´Select * from CLIENTE where CODIGO= :PCOD ´); Parambyname(´PCOD´).AsString:= CadCliente.DBEdit1.Text; Open; if not(IsEmpty)then begin ShowMessage(´CODIGO já cadastrado!´); CadCliente.DBEdit1.SetFocus; Close; Abort; end else begin Close; Sql.Clear; Sql.Add(´Select * from CLIENTE where CNPJ= :PCNPJ´); Parambyname(´PCNPJ´).AsString:= CadCliente.DBEdit3.Text; Open; If not(IsEmpty)then begin ShowMessage(´CNPJ já cadastrado!´); CadCliente.DBEdit1.SetFocus; Close; Abort; end else if(DM.ZQryCliente.State= DSEdit)then begin if( messagedlg(´CNPJ ja cadastrado, confirma alteração?´,mtconfirmation,[mbyes, mbno],0)= mrNO) then DM.ZQryCliente.Cancel; end; end; end; end;



GOSTEI 0
POSTAR