danielrgoes Postado Junho 18, 2010 Denunciar Share Postado Junho 18, 2010 Boa Tarde eu tenho uma aplicaçao que utiliza o SQLQuery, CDS, DSP e DSesta funcionando normal utilizo o append, edit, post, deleteporem aconteceu uma seguinte situação eu do um select em uma tabela e percorro ela inteira inserindo em uma outra tabela modulo.cds_desc_projeto.close; modulo.sql_desc_projeto.SQL.clear; modulo.sql_desc_projeto.SQL.Add('SELECT * FROM DESC_PROJETO '); modulo.sql_desc_projeto.SQL.Add(' WHERE COD_PROJETO = ' + IntToStr(modulo.cds_projetoCOD_PROJETO.Value)); modulo.cds_desc_projeto.Open(); modulo.cds_desc_projeto.First; while not modulo.cds_desc_projeto.Eof do begin modulo.cds_auxprojeto.Append; modulo.cds_auxprojetoCOD_PROJETO.Value := modulo.cds_desc_projetoCOD_PROJETO.Value; modulo.cds_auxprojeto.Post; modulo.cds_desc_projeto.Next; end;os dados gravam certinhoporem quando eu vo no DBGrid eu tenho que editar um campo em tempo de execuçao então no evento DBGrid4CellClick eu coloco o codigomodulo.cds_auxprojeto.Edit;modulo.cds_auxprojetoCOD_PROJETO.Value := 1;modulo.cds_auxprojeto.post;mais quando passa pelo post da erro na hora de gravarestou colocando no evento OnafterPost do CDS o codigo pra gravarif TClientDataSet(tabela).ApplyUpdates(0) > 0 then ShowMessage('Erro na Gravação em : '+tabela.name);ou seja o ApplyUpdates(0) é maior que zeromais porque acontece isso ??????????? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Junho 19, 2010 Denunciar Share Postado Junho 19, 2010 Observe o códigomodulo.cds_desc_projeto.close; modulo.sql_desc_projeto.SQL.clear; modulo.sql_desc_projeto.SQL.Add('SELECT * FROM DESC_PROJETO '); modulo.sql_desc_projeto.SQL.Add(' WHERE COD_PROJETO = ' + IntToStr(modulo.cds_projetoCOD_PROJETO.Value)); modulo.cds_desc_projeto.Open(); modulo.cds_desc_projeto.First; while not modulo.cds_desc_projeto.Eof do begin modulo.cds_auxprojeto.Append; modulo.cds_auxprojeto.Edit; modulo.cds_auxprojetoCOD_PROJETO.Value := modulo.cds_desc_projetoCOD_PROJETO.Value; modulo.cds_auxprojeto.Post; modulo.cds_auxprojeto.ApplyUpdates(-1); modulo.cds_desc_projeto.Next; end; No DBGrid4CellClick eu coloque o codigo modulo.cds_auxprojeto.Edit; modulo.cds_auxprojetoCOD_PROJETO.Value := 1; Em outro botão ou evento coloque modulo.cds_auxprojeto.post; modulo.cds_auxprojeto.ApplyUpdates(-1);abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
danielrgoes
Boa Tarde
eu tenho uma aplicaçao que utiliza o SQLQuery, CDS, DSP e DS
esta funcionando normal utilizo o append, edit, post, delete
porem aconteceu uma seguinte situação
eu do um select em uma tabela e percorro ela inteira inserindo em uma outra tabela
modulo.cds_desc_projeto.close;
modulo.sql_desc_projeto.SQL.clear;
modulo.sql_desc_projeto.SQL.Add('SELECT * FROM DESC_PROJETO ');
modulo.sql_desc_projeto.SQL.Add(' WHERE COD_PROJETO = ' + IntToStr(modulo.cds_projetoCOD_PROJETO.Value));
modulo.cds_desc_projeto.Open();
modulo.cds_desc_projeto.First;
while not modulo.cds_desc_projeto.Eof do
begin
modulo.cds_auxprojeto.Append;
modulo.cds_auxprojetoCOD_PROJETO.Value := modulo.cds_desc_projetoCOD_PROJETO.Value;
modulo.cds_auxprojeto.Post;
modulo.cds_desc_projeto.Next;
end;
os dados gravam certinho
porem quando eu vo no DBGrid eu tenho que editar um campo em tempo de execuçao
então no evento DBGrid4CellClick eu coloco o codigo
modulo.cds_auxprojeto.Edit;
modulo.cds_auxprojetoCOD_PROJETO.Value := 1;
modulo.cds_auxprojeto.post;
mais quando passa pelo post da erro na hora de gravar
estou colocando no evento OnafterPost do CDS o codigo pra gravar
if TClientDataSet(tabela).ApplyUpdates(0) > 0 then
ShowMessage('Erro na Gravação em : '+tabela.name);
ou seja o ApplyUpdates(0) é maior que zero
mais porque acontece isso ???????????
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.