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;
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)