如何在dggrid实现如下功能

从Lion开始 2008-11-20 09:58:34
1,我需要在一个dbgrid中选择一下数据,把选中的数据insert 另一个dbgrid中
2.我看到好多程式都有这个功能,就是双击就过去了。同时要把前一个dbgrid的数据给清了,但后台的数据库的数据不能删除。
...全文
203 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
starluck 2008-12-01
  • 打赏
  • 举报
回复
LockType := ltBatchOptimistic;

設為緩存模式
nbzip 2008-12-01
  • 打赏
  • 举报
回复
用ADOQUERY先用数据集拷贝一个,然后保存到你的指定一个临时表文件.然后再用ADOQUERY打开临时表,这时你删除增加都是在本地数据集中操作,不影响远程服务器.

adoquery1.sql.add('select * from tb_a');
adoquery1.open;
--------------------假设之前把TB_A都拿到了.
adoquery1.savetofile('c:\tmp.001',pfADTG); //自己保存一个文件,格式可以是ADTG(默认)和XML(pfXML)
--------------------
adoquery1.LoadFormFile('c:\tmp.001'); //呵呵,这个时候拿到的TMP.001就是本地的数据集了,你做什么都没关系.不影响,服务器上面的表.


==========================
你可以在这表中进行操作,比如双击,复制到另一表中,然后按条件删除该表记录.随便你做了.
beifangke 2008-12-01
  • 打赏
  • 举报
回复
双击的时候,把该条数据添加到另一个数据集,然后设个条件把该条记录在该数据集中过滤掉
xuxugr 2008-12-01
  • 打赏
  • 举报
回复
dbgrid,设置LockType := ltBatchOptimistic;
ADOQuery2.Append;
ADOQuery2.FieldByName('id').Value:=ADOQuery1.FieldByName('id').AsString;
eqapple 2008-11-30
  • 打赏
  • 举报
回复
取第一个值然后插入第二个数据集中,行不通?
yuehaiyang 2008-11-30
  • 打赏
  • 举报
回复
dbgrid,设置LockType := ltBatchOptimistic;
provokes 2008-11-30
  • 打赏
  • 举报
回复
用2个 ClientDataSet 控件
从Lion开始 2008-11-20
  • 打赏
  • 举报
回复
我没试,但是还有一个问题。
如果我把第二个dbgrid的数据也希望能够返回第一个值怎么办
火龙岛主 2008-11-20
  • 打赏
  • 举报
回复
LockType := ltBatchOptimistic;
随便删除,只要不BatchUpdate就好。
dh9450 2008-11-20
  • 打赏
  • 举报
回复
数据集设缓存更新模式
angel163eye 2008-11-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 LINXIONGMING 的回复:]
我没试,但是还有一个问题。
如果我把第二个dbgrid的数据也希望能够返回第一个值怎么办
[/Quote]
什么意思?
要取dbgrid的值,可操作数据集取得,也可直接从dbgrid中取得。

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧