Transferir dados do grids para o BD

Delphi

28/09/2010

Pessoal estou tentando fazer uam transferencia de dados acumulador para um outro tabela mas estou com problemas...

// lança os produtos no grid de consumo da mesa
  frmmodulo.st_consumo.Close;
  frmmodulo.st_consumo.ParamByName('cod_mesa').Value      := StrToInt(frmPrincipal.lb_mesa.Caption);
  frmmodulo.st_consumo.ParamByName('cod_produto').Value  := gridpesquisa.cell[1,i].asstring;
  frmmodulo.st_consumo.ParamByName('qtde').Value               := gridpesquisa.cell[3,i].asstring;
  frmmodulo.st_consumo.ParamByName('unitario').Value          := gridpesquisa.cell[4,i].asfloat;
  frmmodulo.st_consumo.ParamByName('total').Value               := gridpesquisa.cell[5,i].asfloat;
  frmmodulo.st_consumo.Prepare;
  frmmodulo.st_consumo.Execute;

esse codigo acima é o codigo q tenho para receber as informções eu tenho nesse gridpesquisa varios produtos so que quando mando lançar no banco ele so m joga o primeiro registro queria q ele lançace todos os produtos q eu pesquizei quando mando finalizar a venda...

Dessa forma ai ele so grava a primeira venda as outras nao grava....

esse gridpesquisa é um nextgrid
Laelson Fagundes

Laelson Fagundes

Curtidas 0

Respostas

Eriley Barbosa

Eriley Barbosa

28/09/2010

// Varrendo todas as linhas da Grade
for i:= 0 to aGrade.RowCount-1 do
begin
   // lança os produtos no grid de consumo da mesa
  frmmodulo.st_consumo.Close;
  frmmodulo.st_consumo.ParamByName('cod_mesa').Value      := StrToInt(frmPrincipal.lb_mesa.Caption);
  frmmodulo.st_consumo.ParamByName('cod_produto').Value  := gridpesquisa.cell[1,i].asstring;
  frmmodulo.st_consumo.ParamByName('qtde').Value               := gridpesquisa.cell[3,i].asstring;
  frmmodulo.st_consumo.ParamByName('unitario').Value          := gridpesquisa.cell[4,i].asfloat;
  frmmodulo.st_consumo.ParamByName('total').Value               := gridpesquisa.cell[5,i].asfloat;
  frmmodulo.st_consumo.Prepare;
  frmmodulo.st_consumo.Execute;
end; Se seu stringrid tiver colunas de titulo, i tem que ser := 1 no for.
GOSTEI 0
Laelson Fagundes

Laelson Fagundes

28/09/2010

ERILEY obrigado mais uma vez mas eu mudei o grid para uma tabela virtual e deu certo mas o procedimento é o mesmo q vc usou ai;...

obrigado
GOSTEI 0
POSTAR