解决方案 »
- 窗体之间ADOQuery数据调用问题
- 奇怪运行问题急!!
- 请问怎样给listview加背景(Bitmap图片)呀,高手进,在线等....
- 研究外挂技术的平台!!!
- QuickReport中使用QRDBRichText1控件显示Memo型字段为何退出时候报“System error,Code:1400.相互身份验证失败,该服务器在域控制器的密
- 救命啊,关于datetimepicker的问题
- 简单问题,大家告诉我,有分相系谢!
- 请问高手!有人知道网络游戏的外挂是用什么方法来实现的?
- 我遇到一小麻烦。
- 如何用webbrowser打开存在MEMO字段的HTML?
- 怎么用TFileStream增加删除数据?
- 和风播放器窗体模块1
http://blog.csdn.net/niniu/archive/2006/01/10/575449.aspx
dbisam数据库主从表结构的使用方法 收藏
要使用DBISAM数据库主从表结构,需用到下列控件: 一个TDBISAMTable或者TDBISAMQuery控件,命名为tblMaster或者qryMaster, 一个(或多个)TDBISAMTable控件,名字为tblDetail, 一个TDataSource控件,命名为dsMaster 使用主从表结构,要有一个条件,就是从表一定要对关联字段建立索引,比如说主从表通过从表的teacher字段与主表的name字段实现关联,那么从表一定要对teacher字段建立索引,假设为teacheridx。 另外,除了对tblMaster和tblDetail的DataBaseName等属性赋值只要,还设置几个属性: 1、要设置数据源控件TDataSource的DataSet为主表tblMaster或者主表查询组件qryMaster: dsMaster.DataSet := tblMaster; 2、要将从表控件的MasterSource属性设置为上面的数据源控件: tblDetail.MasterSource := dsMaster; 并且设置从表控件的IndexFieldName属性为与主表进行关联的字段(注,如上所说,该字段一定要已经建立索引) tblDetail.IndexFieldNames := 'teacher'; 现在,我们可以打开主从表了: tblMaster.Active := True; // qryMaster.SQL.Text := 'select * from master where age>15'; // qryMaster.Active := True; tblDetail.Active := True; 当我们移动主表的当前记录时,从表的数据也会自动跟着变化: tblMaster.Next; 可以用DBGrid控件观看。--------------------------------------------------------------------------------
在网上看到有人说从表可以用下面方式: DataSet.SQL.Text := 'select * from detail where teacher=master.name'; 测试发现DBISAM的TDBISAMQuery组件不能实现,如: qryDetail.SQL.Text := 'select * from detail where teacher=master.name'; 执行到这里会导致SQL解析错误异常,不知道其他数据库是不是这样。 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/niniu/archive/2006/01/10/575449.aspx