PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum simpledataset gravando por cima de um registro #496246

01/10/2014

0

boa tarde,

tenho um fomulario de "montar lanches" uso 3 tabelas nele: ITEM, ITEM_LANCHE, LANCHE e conecto no banco com os componentes sqlconnection, datasource e simpledataset, a tabela ITEM_LANCHE tem 3 campos , o ID(q eu faço uma gambiarra pra dar um auto incremento), ID_LANCHE(q eu busco da tabela lanche) e ID_ITEM(que eu busco da tabela item), o problema é que quando vou gravar o segundo registro de um mesmo ID_ITEM ele grava o ID_LANCHE por cima do anterior e faz um novo registro ... alguem tem ideia do que estou fazendo de errado?


procedure Tfitem.btnadicionarClick(Sender: TObject);
var
id:integer;

begin
id:= SQLQuery_item_lanche.FieldByName('MAX_ID').AsInteger;
DataModule1.sdsitem_lanche.insert;
DataModule1.sdsitem_lanche.FieldByName('ID').AsInteger := id;
DataModule1.sdsitem_lanche.FieldByName('ID_LANCHE').AsInteger := DataModule1.sdslanches.FieldByName('ID').AsInteger;
DataModule1.sdsitem_lanche.FieldByName('ID_ITEM').AsInteger := (Strtoint(DBEdit1.Text));
DataModule1.sdsitem_lanche.ApplyUpdates(-1);
SimpleDataSet1.Active:=false;
SimpleDataSet1.DataSet.CommandText:='select distinct lanche.nome as Lanche from item_lanche, lanche, item where item_lanche.id_lanche = lanche.id and item_lanche.id_item = ' + (QuotedStr(DBEdit1.Text));
SimpleDataSet1.Active:=true;
end;
Thiago Mazzini

Thiago Mazzini

Responder

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

Aceitar