GARANTIR DESCONTO

Fórum erro ao gravar tabela temporária no banco de dados #561801

01/09/2016

0

SEnhores estou tendo problemas para gravar tabelas temporária no banco de dados FirteBird, com componente Zeos. não da erro maas simplesmente não grava.
por favor me ajudem


segue o codigo abaixo:


procedure TfrProcessos.BitBtn12Click(Sender: TObject);
begin
if not Processo.Novo then //Processo já existe
begin
//Executar SQL para remover dados antigos
//1º - Clientes do processo
qryApagarRegistros.Close;
qryApagarRegistros.SQL.Clear;
qryApagarRegistros.SQL.Add('delete from clientesprocesso '+
' WHERE clientesprocesso.codprocesso = :cod_processo');
qryApagarRegistros.ParamByName('cod_processo').AsInteger := Processo.cod_processo;
qryApagarRegistros.ExecSQL;

//1º - Partes do processo
qryApagarRegistros.Close;
qryApagarRegistros.SQL.Clear;
qryApagarRegistros.SQL.Add('delete from parteprocesso '+
' WHERE parteprocesso.cod_processo= :cod_processo');
qryApagarRegistros.ParamByName('cod_processo').AsInteger := Processo.cod_processo;
qryApagarRegistros.ExecSQL;

//1º - Testemunhas do processo
qryApagarRegistros.Close;
qryApagarRegistros.SQL.Clear;
qryApagarRegistros.SQL.Add('delete from testemunhaprocesso '+
' WHERE testemunhaprocesso.cod_processo = :cod_processo');
qryApagarRegistros.ParamByName('cod_processo').AsInteger := Processo.cod_processo;
qryApagarRegistros.ExecSQL;

//1º - Documentos do processo
qryApagarRegistros.Close;
qryApagarRegistros.SQL.Clear;
qryApagarRegistros.SQL.Add('delete from documento_processo '+
' WHERE documento_processo.cod_processo = :cod_processo');
qryApagarRegistros.ParamByName('cod_processo').AsInteger := Processo.cod_processo;
qryApagarRegistros.ExecSQL;
end;

//GRAVAR TODOS OS DADOS DOS CLIENTDATASETS NO BANCO DE DADOS.
//Processo --------------------
Screen.Cursor := crHourGlass;

DmClient.cdsProcessos.Open;
if Processo.Novo then
begin
DmClient.cdsProcessos.Append;
DmClient.cdsProcessosCOD_PROCESSO.AsInteger := Processo.COD_PROCESSO;
InsereDadosProcesso;
end
else
begin
DmClient.cdsProcessos.First;
while not DmClient.cdsProcessos.Eof do
begin
if DmClient.cdsProcessosCOD_PROCESSO.AsInteger = Processo.COD_PROCESSO then
begin
DmClient.cdsProcessos.Edit;
InsereDadosProcesso;
DmClient.cdsProcessos.Last;
end;
DmClient.cdsProcessos.Next;
end;
end;

//Clientes ---------------------
DMClient.cdsClientesProcesso.Open;
cdsClientesProcesso.First;
while not cdsClientesProcesso.Eof do
begin
DMClient.cdsClientesProcesso.Append;
DMClient.cdsClientesProcessoCOD_PROCESSO.AsInteger := cdsClientesProcessoCOD_PROCESSO.AsInteger;
DMClient.cdsClientesProcessoCOD_CLIENTE.AsInteger := cdsClientesProcessoCOD_CLIENTE.AsInteger;
DMClient.cdsClientesProcesso.Post;
cdsClientesProcesso.Next;
end;
DMClient.cdsClientesProcesso.Close;

//Limpar clientdataset
cdsClientesProcesso.First;
while not cdsClientesProcesso.Eof do
begin
cdsClientesProcesso.Delete;
cdsClientesProcesso.Next;
end;

//Parte Contrária ---------------
DmClient.cdsParteProcesso.Open;
cdsParteProcesso.First;
while not cdsParteProcesso.Eof do
begin
DmClient.cdsParteProcesso.Append;
DmClient.cdsParteProcessoCOD_PROCESSO.AsInteger := cdsParteProcessoCOD_PROCESSO.AsInteger;
DmClient.cdsParteProcessoCOD_PARTEPROCESSO.AsInteger := cdsParteProcessoCOD_PARTEPROCESSO.AsInteger;
DmClient.cdsParteProcesso.Post;
cdsParteProcesso.Next;
end;
DmClient.cdsParteProcesso.Close;

//Limpar clientdataset
cdsParteProcesso.First;
while not cdsParteProcesso.Eof do
begin
cdsParteProcesso.Delete;
cdsParteProcesso.Next;
end;

//Testemunhas -------------------
DmClient.cdsTestemunhaProcesso.Open;
cdsTestemunhaProcesso.First;
while not cdsTestemunhaProcesso.Eof do
begin
DmClient.cdsTestemunhaProcesso.Append;
DmClient.cdsTestemunhaProcessoCOD_PROCESSO.AsInteger := cdsTestemunhaProcessoCOD_PROCESSO.AsInteger;
DmClient.cdsTestemunhaProcessoCOD_TESTEMUNHAPROCESSO.AsInteger := cdsTestemunhaProcessoCOD_TESTEMUNHAPROCESSO.AsInteger;
DmClient.cdsTestemunhaProcesso.Post;
cdsTestemunhaProcesso.Next;
end;
DmClient.cdsTestemunhaProcesso.Close;

//Limpar clientdataset
cdsTestemunhaProcesso.First;
while not cdsTestemunhaProcesso.Eof do
begin
cdsTestemunhaProcesso.Delete;
cdsTestemunhaProcesso.Next;
end;

//Documentos --------------------
DmClient.cdsDocumentoProcesso.Open;
cdsDocumentosProcesso.First;
while not cdsDocumentosProcesso.Eof do
begin
DmClient.cdsDocumentoProcesso.Append;
DmClient.cdsDocumentoProcessoCOD_PROCESSO.AsInteger := cdsDocumentosProcessoCOD_PROCESSO.AsInteger;
DmClient.cdsDocumentoProcessoCOD_DOCUMENTO.AsInteger := cdsDocumentosProcessoCOD_DOCUMENTO.AsInteger;
DmClient.cdsDocumentoProcesso.Post;
cdsDocumentosProcesso.Next;
end;
DmClient.cdsDocumentoProcesso.Close;

//Limpar clientdataset
cdsDocumentosProcesso.First;
while not cdsDocumentosProcesso.Eof do
begin
cdsDocumentosProcesso.Delete;
cdsDocumentosProcesso.Next;
end;

tsProcesso.TabVisible := False;
tsCliente.TabVisible := False;
tsParte.TabVisible := False;
tsTestemunha.TabVisible := False;
tsDocumento.TabVisible := False;
tsFinaliza.TabVisible := True;

lblProcesso.Caption := ' Processo de número '+Processo.NUM_PROCESSO+' cadastrado com sucesso';


Screen.Cursor:= crDefault;




procedure TFrProcessos.InsereDadosProcesso;
begin
DmClient.cdsProcessosNUM_PROCESSO.AsString := Processo.NUM_PROCESSO;
if Processo.COD_FUNCIONARIO > 0 then
DmClient.cdsProcessosCOD_FUNCIONARIO.AsInteger := Processo.COD_FUNCIONARIO;
if Processo.TIPO_ACAO > 0 then
DmClient.cdsProcessosTIPO_ACAO.AsInteger := Processo.TIPO_ACAO;
if Processo.COD_FORUM > 0 then
DmClient.cdsProcessosCOD_FORUM.AsInteger := Processo.COD_FORUM
else
DmClient.cdsProcessosCOD_FORUM.AsVariant := null;
if Processo.VARA > 0 then
DmClient.cdsProcessosVARA.AsInteger := Processo.VARA
else
DmClient.cdsProcessosVARA.AsVariant := null;
if Processo.COD_TRIBUNAL > 0 then
DmClient.cdsProcessosCOD_TRIBUNAL.AsInteger := Processo.COD_TRIBUNAL
else
DmClient.cdsProcessosCOD_TRIBUNAL.AsVariant := null;
if Processo.CAMARA > 0 then
DmClient.cdsProcessosCOD_CAMARA.AsInteger := Processo.CAMARA
else
DmClient.cdsProcessosCOD_CAMARA.AsVariant := null;
if Processo.Turma > 0 then
DmClient.cdsProcessosCOD_TURMS.AsInteger := Processo.Turma
else
DmClient.cdsProcessosCOD_TURMS.AsVariant := null;
if Processo.ARQUIVO <> '' then
DmClient.cdsProcessosARQUIVO.AsString := Processo.ARQUIVO;
DmClient.cdsProcessos.Post;
end;
Antonio Santos

Antonio Santos

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar