DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: lixuan123
今日帖子: 0
在线用户: 4
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 bianfuxia888999 (bfx) ★☆☆☆☆ -
盒子活跃会员
2004/7/30 7:56:00
标题:
帮我一个忙好吗 浏览:1049
加入我的收藏
楼主: 帮我一个忙好吗,我有一个BDE方面的问题不明白,在BDE中用query设置主从结构数据表怎么设置呀 

----------------------------------------------
-
作者:
男 iamdream (银河恒久远,梦想无止境!) ★☆☆☆☆ -
大贡献会员
2004/7/30 8:41:23
1楼: 用Query直接设主从关系我也不知道,不过用Table时则可设MasterSource,MasterFields来实现主从表;
此外,用Query时可在主表打开后再打开从表(一般在Query的AfterOpen事件中处理),效果是一样的(性能可能比Table实现更好一些)。
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
作者:
男 bianfuxia888999 (bfx) ★☆☆☆☆ -
盒子活跃会员
2004/7/30 8:46:51
2楼: 谢谢
----------------------------------------------
-
作者:
男 bianfuxia888999 (bfx) ★☆☆☆☆ -
盒子活跃会员
2004/7/30 8:50:19
3楼: 给个例程好吗
----------------------------------------------
-
作者:
男 iamdream (银河恒久远,梦想无止境!) ★☆☆☆☆ -
大贡献会员
2004/7/30 12:46:11
4楼: 1、用Table实现时,主表设置同一般表格设置,从表先按一般表格设置好(TableName指向从表),然后选择MasterSource(你应用一个DataSource指向主表的那个Table),接着再选择MasterFields(一般是主表的主键与从表主键的对应,这时会弹出一个选择窗口的)就可以了;
2、用Query时应在主表Query的AfterScroll事件处理,此事件带一个参数:DataSet: TDataSet,你可用DataSet.FieldByName('主键名').AsInteger取到当前主表记录的主键值,然后处理从表:
  一般从表的SQL语句可这样设置:'Select * from 从表名 Where 主键名 = :iKeyID',其中:iKeyID为参数,然后你用Query.ParamByName('iKeyID').AsString来设置好参数值,再Open一下就可以了,举例如下:
procedure TForm1.qryMasterAfterScroll(DataSet: TDataSet);
begin
  qrySlave.Close;
  qrySlave.ParamByName('KeyID').AsInteger := DataSet.FieldByName('KeyID').AsInteger;
  qrySlave.Open;
end;
此外主表打开后定位一下,如qryMaster.First;
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行70.3125毫秒 RSS