Fórum Problema em ATUALIZAÇÂO NO BD #379500
14/06/2010
0
alguem teria uma dica?
Jonatan
Curtir tópico
+ 0Posts
14/06/2010
Fábio Cruz
Se estiver está dando um ApplyUpdates?
Gostei + 0
14/06/2010
Jonatan
Se estiver está dando um ApplyUpdates?
Estou usando ClienteDataSet sim.
não estou dando ApplyUpdates não
Gostei + 0
14/06/2010
Fábio Cruz
Gostei + 0
14/06/2010
Jonatan
Se estiver está dando um ApplyUpdates?
seguinte eu uso este codigo
Query1. para fazer o select do LUCRO
Query2. para fazer o select do gastos
Query3. para fazer a conexão da busca
Código: procedure TForm5.BitBtn1Click(Sender: TObject);
begin
with IBQuery3 do
begin
close;
sql.clear;
sql.add (' select coalesce(sum(l.valor),0)TOTALLUCROS,');
sql.add (' (select coalesce(sum(g.valor),0) ');
sql.add(' from gastos g ');
sql.add(' where g.data between :data1 and :data2) TOTALGASTOS ');
sql.add(' from lucro l ');
sql.add(' where l.data between :data1 and :data2 ');
ParambyName('data1').asDate := strtodate(MaskEdit1.text);
ParambyName('data2').asDate := strtodate(MaskEdit2.text);
open;
end;
txtlucro.text := FormatFloat('0.00',IBQuery3.Fields[0].AsCurrency);
txtgastos.text := FormatFloat('0.00',IBQuery3.Fields[1].AsCurrency);
txtresultado.text := FormatFloat('0.00',IBQuery3.Fields[0].AsCurrency-IBQuery3.Fields[1].AsCurrency);
end;
Gostei + 0
14/06/2010
Fábio Cruz
Pq nesse código vc está realizando a busca fisica no BD. Os novos valores qndo são inseridos pelo ClientDataSet, por padrão, ficam em memória, após fechar ou dar o ApplyUpdates que são efetivados no BD.
Gostei + 0
14/06/2010
Jonatan
Pq nesse código vc está realizando a busca fisica no BD. Os novos valores qndo são inseridos pelo ClientDataSet, por padrão, ficam em memória, após fechar ou dar o ApplyUpdates que são efetivados no BD.
Assim eu estou dando um COMMIT e não ApplyUpdates.
verifique o codigo aqui
procedure TFormLucro.BitBtn2Click(Sender: TObject);
begin
IBQuery1.close;
IBQuery1.SQL.Text:= ' insert into lucro(descricao,data,valor) values (:p1,:p2,:p3)';
IBQuery1.ParamByName('p1').AsString := Edit1.text;
IBQuery1.ParamByName('p2').AsDate := StrToDate (MaskEdit1.text);
IBQuery1.ParamByName('p3').AsFloat := StrToFloat(Edit3.text);
IbQuery1.execSQL;
IBTransaction1.Commit;
Edit1.Text:= '';
MaskEdit1.Text:= '';
Edit3.Text:= '';
IBQuery2.close;
IBQuery2.Open;
Showmessage('Salvo com Sucesso!!!');
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)