Jump to content
Fórum Script Brasil
  • 0

Salvar dados de uma stringrid em um banco acess


anabon

Question

Olá pessoal boa tarde....

Mais uma x peço a ajuda de vocês

Tenho um form com alguns edits, DBEdits e uma stringgrid....

estou usando os seguinte codigo para salvar

procedure Tfrmos.cmdsalvarClick(Sender: TObject);

var

i: integer;

begin

for i:=0 to Grid_Produto.rowCount do

begin

Table_Ordem.append;

Table_Ordem.fieldByName('descricao').value := Grid_Produto.Cells[1,i];

Table_Ordem.fieldByName('quantidade').value := Grid_Produto.Cells[2,i];

Table_Ordem.fieldByName('valor_un').value := Grid_Produto.Cells[3,i];

Table_Ordem.fieldByName('total1').value := Grid_Produto.Cells[4,i];

Table_Ordem.fieldByName('desconto').value := txtdesconto.text;

Table_Ordem.fieldByName('acrescimo').value := txtacrescimo.text;

Table_Ordem.fieldByName('sub_total').value := txtsub_tot.text;

Table_Ordem.fieldByName('total').value := txttot.text;

Table_Ordem.fieldByName('equipamento').value := txtID_Maquina.text;

Table_Ordem.Post;

if Table_Ordem.State in [dsInsert,dsEdit] then

Table_Ordem.Post;

PanelDados.Enabled := False; // desativa os controles

cmdsalvar.Enabled := False;

end;

end;

end.

o problema é que as dbedits salvam normal, as edit salvam 3x e os dados do stringrid pula 3 registro pra depois salvar....

eu não consigo ver o porque...

agradeço quem puder me ajudar

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

procedure Tfrmos.cmdsalvarClick(Sender: TObject);
var
i: integer;
begin
for i:=0 to Grid_Produto.rowCount do
begin
Table_Ordem.append;
Table_Ordem.edit;

Table_Ordem.fieldByName('descricao').value := Grid_Produto.Cells[1,i];
Table_Ordem.fieldByName('quantidade').value := Grid_Produto.Cells[2,i];
Table_Ordem.fieldByName('valor_un').value := Grid_Produto.Cells[3,i];
Table_Ordem.fieldByName('total1').value := Grid_Produto.Cells[4,i];
Table_Ordem.fieldByName('desconto').value := txtdesconto.text;
Table_Ordem.fieldByName('acrescimo').value := txtacrescimo.text;
Table_Ordem.fieldByName('sub_total').value := txtsub_tot.text;
Table_Ordem.fieldByName('total').value := txttot.text;
Table_Ordem.fieldByName('equipamento').value := txtID_Maquina.text;

Table_Ordem.Post;
Table_Ordem.ApplyUpdates;

PanelDados.Enabled := False; // desativa os controles
cmdsalvar.Enabled := False;
end;
end;
end.

abraço

Link to comment
Share on other sites

  • 0

esta dando erro nesta linha:

Table_Ordem.ApplyUpdates;

O comando ApplyUpdates só é usado com um clientdataset?

estou usando uma ADOTable e pesquisei e não consegui encontrar esse comando usado no ADOTable...

desculpa se deixei de informar.....

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...