我有一表A(id,name)为主要表。另一表B(sn,id,power)为次要表。分别用adoquery1,adoquery2连接。并分别显示在grideh1,grideh2中。
当在grideh1中选取一条纪录时。adoquery2在表B中查找B.id=A.id的纪录并显示在grideh2中。并可在grideh2中修改这些记录。
以上这些都可实现,最难的部分在于:*重点*
adoquery2用的是ltBatchOptimistic模式。并且所有B表中的记录必须在点击一个Btn_save后才能全部更新保存。可是每次在grideh1中选取记录之后。还要求Grideh2中的内容更新。如果上一次的数据没有updatebatch的话。就不会被保存了。如果updatebatch也不行,因为要求必须在最后点按钮时才能全部保存!!!小弟想了很久,试着用动态创建adoquery的方法解决。但是极不好控制,并且巨耗资源。
当在grideh1中选取一条纪录时。adoquery2在表B中查找B.id=A.id的纪录并显示在grideh2中。并可在grideh2中修改这些记录。
以上这些都可实现,最难的部分在于:*重点*
adoquery2用的是ltBatchOptimistic模式。并且所有B表中的记录必须在点击一个Btn_save后才能全部更新保存。可是每次在grideh1中选取记录之后。还要求Grideh2中的内容更新。如果上一次的数据没有updatebatch的话。就不会被保存了。如果updatebatch也不行,因为要求必须在最后点按钮时才能全部保存!!!小弟想了很久,试着用动态创建adoquery的方法解决。但是极不好控制,并且巨耗资源。
解决方案 »
- 超市系统中如何进行价格算法设计?
- 第一次表白就被拒绝的哥们来接分
- 类似ASP中联动问题~知道的请狂进拿分~100分在线等待!
- quickreport3.62是免费的吗?
- 请高手给小弟一分OBJECT PASCAL的语法帮助文件(要中文的)!
- 急急!delphi做实时监控方面的程序采用什么方法???
- 我的一个 paradox话费清单数据库 Telrec.db 因死机造成索引头损坏而无法打开,央求诸位专家指点如何进行修复,这个数据库对我太重要了。1
- 窗口可见性的问题。
- 如何把纯文本文件导入到SQL SERVER数据库的表中
- 学习delphi
- 使用odac连接oracle时游标释放的问题,问题解决马上给分
- 请教几道简单的pascal问题,分不够可以再加! 急!!!
然后采用adoquery2.filter来控制显示的记录。
这样能够满足你的需求。
對於數據量大的,只能用 yleiou(生活真痛苦) 的做法了,
沒有什麼不方便的,大家也都是這麼做的。
如果是那样就好了,用户就是要求最后统一保存。我也没办法!to:windindance(风舞轻扬)
请详细一点好吗。谢谢。filter怎么控制?
ADOQuery2.Open;ADOQuery1.AfterScroll:
ADOQuery2.Filter := 'id = ' + VarToStr(ADOQuery1['id']);
ADOQuery2.FIltered := true;
先
ADOQuery2.SQL.Text := 'select * From t';
ADOQuery2.Open;在每次选择时
ADOQuery2.Filter := 'id = ' + VarToStr(ADOQuery1['id']);
ADOQuery2.FIltered := true;没问题的话就要结贴了