Fórum Como Alterar, excluir usando SQL com Where...? #343808
29/07/2007
0
Olá pessoal eu estou ultilizando IBX com Firebird 1.0 Delphi 2006
Eu copio para uma variável o código do titular, e coloco no parametro da query dependentes, eu consigo insluir infinitos dados mas não consigo excluir....
Oque eu quero é excluir é o registro corrente...
Aqui o código...
_dmCadastro.qryTitular.Open;
_dmCadastro.qryTitular.Append;
CODIGO_TITULAR:= _dmCadastro.qryTitular.FieldByName(´CODIGO_TITULAR´).AsInteger;
dmCadastro.qryDependentes.Close;
_dmCadastro.qryDependentes.SQL.Clear;
_dmCadastro.qryDependentes.SQL.text:=
´select CODIGO_CADASTRADO,´+
´DATA_RECADASTRAMENTO,´+
´IDADE, CODIGO_DEPENDENTE, CODIGO_TITULAR,´+
´COLABORADOR_OUTROS, DATA_CADASTRADO,´+
´ESTADO_CIVIL, GRAU_PARENTESCO,´+
´NOME_DEPENDENTE, DATA_NASC, SEXO,´+
´TRABALHA_ESTUDA_OUTROS from DEPENDENTE´+
´ WHERE CODIGO_TITULAR =:CODIGO_TITULAR´;
dmCadastro.qryDependentes.Params.ParamByName(´CODIGO_TITULAR´).AsInteger:= CODIGO_TITULAR;
_dmCadastro.qryDependentes.Open;
_dmCadastro.qryDependentes.Append;
if _dmCadastro.qryDependentes.RecordCount >= 1 then
Begin
ShowMessage(´Com registros´);
//Edit10.text:= inttostr(_dmCadastro.qryDependentes.RecordCount);
_dmCadastro.qryDependentes.Delete;
end;
UPDATDEPDENDENTE
delete from DEPENDENTE
where
CODIGO_DEPENDENTE = :OLD_CODIGO_DEPENDENTE
update DEPENDENTE
set
CODIGO_CADASTRADO = :CODIGO_CADASTRADO,
CODIGO_DEPENDENTE = :CODIGO_DEPENDENTE,
CODIGO_TITULAR = :CODIGO_TITULAR,
COLABORADOR_OUTROS = :COLABORADOR_OUTROS,
DATA_CADASTRADO = :DATA_CADASTRADO,
DATA_NASC = :DATA_NASC,
DATA_RECADASTRAMENTO = :DATA_RECADASTRAMENTO,
ESTADO_CIVIL = :ESTADO_CIVIL,
GRAU_PARENTESCO = :GRAU_PARENTESCO,
IDADE = :IDADE,
NOME_DEPENDENTE = :NOME_DEPENDENTE,
RECEBE_ALIMENTACAO = :RECEBE_ALIMENTACAO,
SEXO = :SEXO,
TRABALHA_ESTUDA_OUTROS = :TRABALHA_ESTUDA_OUTROS
where
CODIGO_DEPENDENTE = :OLD_CODIGO_DEPENDENTE
Eu copio para uma variável o código do titular, e coloco no parametro da query dependentes, eu consigo insluir infinitos dados mas não consigo excluir....
Oque eu quero é excluir é o registro corrente...
Aqui o código...
_dmCadastro.qryTitular.Open;
_dmCadastro.qryTitular.Append;
CODIGO_TITULAR:= _dmCadastro.qryTitular.FieldByName(´CODIGO_TITULAR´).AsInteger;
dmCadastro.qryDependentes.Close;
_dmCadastro.qryDependentes.SQL.Clear;
_dmCadastro.qryDependentes.SQL.text:=
´select CODIGO_CADASTRADO,´+
´DATA_RECADASTRAMENTO,´+
´IDADE, CODIGO_DEPENDENTE, CODIGO_TITULAR,´+
´COLABORADOR_OUTROS, DATA_CADASTRADO,´+
´ESTADO_CIVIL, GRAU_PARENTESCO,´+
´NOME_DEPENDENTE, DATA_NASC, SEXO,´+
´TRABALHA_ESTUDA_OUTROS from DEPENDENTE´+
´ WHERE CODIGO_TITULAR =:CODIGO_TITULAR´;
dmCadastro.qryDependentes.Params.ParamByName(´CODIGO_TITULAR´).AsInteger:= CODIGO_TITULAR;
_dmCadastro.qryDependentes.Open;
_dmCadastro.qryDependentes.Append;
if _dmCadastro.qryDependentes.RecordCount >= 1 then
Begin
ShowMessage(´Com registros´);
//Edit10.text:= inttostr(_dmCadastro.qryDependentes.RecordCount);
_dmCadastro.qryDependentes.Delete;
end;
UPDATDEPDENDENTE
delete from DEPENDENTE
where
CODIGO_DEPENDENTE = :OLD_CODIGO_DEPENDENTE
update DEPENDENTE
set
CODIGO_CADASTRADO = :CODIGO_CADASTRADO,
CODIGO_DEPENDENTE = :CODIGO_DEPENDENTE,
CODIGO_TITULAR = :CODIGO_TITULAR,
COLABORADOR_OUTROS = :COLABORADOR_OUTROS,
DATA_CADASTRADO = :DATA_CADASTRADO,
DATA_NASC = :DATA_NASC,
DATA_RECADASTRAMENTO = :DATA_RECADASTRAMENTO,
ESTADO_CIVIL = :ESTADO_CIVIL,
GRAU_PARENTESCO = :GRAU_PARENTESCO,
IDADE = :IDADE,
NOME_DEPENDENTE = :NOME_DEPENDENTE,
RECEBE_ALIMENTACAO = :RECEBE_ALIMENTACAO,
SEXO = :SEXO,
TRABALHA_ESTUDA_OUTROS = :TRABALHA_ESTUDA_OUTROS
where
CODIGO_DEPENDENTE = :OLD_CODIGO_DEPENDENTE
Max2006
Curtir tópico
+ 0
Responder
Posts
29/07/2007
Max2006
Da a mensage de Updat Failed......
Responder
Gostei + 0
30/07/2007
Max2006
Pessoal consegui resolver.....
O problema esta entre a Trigger e a propriedade Generator do componente IBXQuery
Na Trigger eu estava incrementando 1 e a query também....
E oque acontecia o código nunca era igual então eu coloquei na Trigger para não incrementar e deixei a Trigger para incrementar o códico
E tudo funcionou....
AS
BEGIN
NEW.CODIGO_DEPENDENTE = GEN_ID(GEN_DEPENDENTE_ID,1);
END
O problema esta entre a Trigger e a propriedade Generator do componente IBXQuery
Na Trigger eu estava incrementando 1 e a query também....
E oque acontecia o código nunca era igual então eu coloquei na Trigger para não incrementar e deixei a Trigger para incrementar o códico
E tudo funcionou....
AS
BEGIN
NEW.CODIGO_DEPENDENTE = GEN_ID(GEN_DEPENDENTE_ID,1);
END
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)