DBGrid里面加载数据并修改不更新后台数据库

DBGrid里面加载数据并修改不更新后台数据库

最近做个小系统,一直找不到存储查询数据的办法,就只能用最差方法,建立临时表,不过写代码写得要吐呀,找了半天找到TFDMemTable控件,可以存储table数据进去,还可以增加字段,修改数据极大的方便了,在程序开发过程操作查询数据然后再选择过来的操作。
一、TFDMemTable数据的插入
DBGrid属性里面要设置TDataSource,列名设置跟其他的一致
TDataSource的DateSet属性里面选择FDMemTable1
先查询数据,要添加字段的,可以再SQL上面添加
Open后DBGrid就显示数据了
把数据插入到TFDMemTable
FDQuery1.Close;
FDQuery1.SQL.Clear;
FDQuery1.SQL.Add(‘select False as Is_Sub,* from t_Product’);
FDQuery1.Open;
把数据插入到TFDMemTable
FDMemTable1.CopyDataSet(FDQuery1,[coStructure, coRestart, coAppend]);
Open后DBGrid就显示数据了
FDMemTable1.Open;

二、TFDMemTable数据的查询

 FDMemTable1.Filtered := False;
 FDMemTable1.Filter:='Product_ID='+Edit1.Text;
 FDMemTable1.Filtered := True;
 FDMemTable1.Open;

条件可多个条件拼接

三、抓取选择的数据插入到实表页面
i:=1;
FDMemTable1.Filtered := False;
FDMemTable1.Filter:=’ Is_Sub=1’;
FDMemTable1.Filtered := True;
FDMemTable1.open;
FDMemTable1.First;
while not FDMemTable1.Eof do
begin
if FDMemTable1.FieldByName(‘Is_Sub’).AsString=‘1’ then
begin
FDQuery2.Close;
FDQuery2.SQL.Clear;
FDQuery2.SQL.Add(‘insert into t_Order_Item(Order_Item_No,Order_No,Product_ID) values(:Order_Item_No,:Order_No,:Product_ID)’);
FDQuery2.ParamByName(‘Order_Item_No’).Value:=i;
FDQuery2.ParamByName(‘Order_No’).Value:=Form6D.Edit1.Text;
FDQuery2.ParamByName(‘Product_ID’).Value:=FDMemTable1.FieldByName(‘Product_ID’).AsInteger;
FDQuery2.ExecSQL;
i:=i+1;
end;
FDMemTable1.Next;
end;
记得插入前POST一下
页面效果
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值