求一个用lookup字段和dbgrid的例子。最好是ADO的。我按照有关说明,包括csdn上的有关贴子做都没有成功。请大家帮忙给个简单例子。
解决方案 »
- 一个网页页面 进去后 过一段不固定的时间 会刷新出现一个固定的字符串 怎么模拟等待网页刷新?
- 为什么一定要用pas文件,而用DCU文件时就不能运行呢??
- 大家进来看看!很奇怪阿
- 我的QQ丢了,狂郁闷!!请老朋友把QQ再告诉我一遍...
- win9x 中的socket通信
- delphi excel 工具栏
- 困扰我得几个面向对象的问题
- 请大侠帮忙翻译一段C++代码,谢谢!
- sql在DELPHI5中使用的疑惑?谢谢~
- 大数据查询时,调用GIF代表等待
- 紧急求助~修复Paradox数据库
- 如果知道DBGRIDEH当前在编辑的网格的值,注意,是在编辑状态的值,DBGrid1.SelectedField.asstring 这样是错的,这样是提交后的值了,我
www.delphiun.com
都有
姓名(char) 学历(int)表B:(学历字典)
学历编号(int) 学历名称(char)在dbgrid里显示表A的内容。一般来说学历字段就显示为int型的数字。这里我想在dbgrid中显示表B中对应的学历名称的内容。应该通过lookup字段实现吧,但是我却高不定帮忙找(做)个例子。。谢谢。
1.使用一个TADOConnection组件,设置好连接字符串。
2.添加一个TADOQuery组件,设置连接属性,其SQL属性为:
SELECT *
FROM 人员表;
使用字段编辑器增加永久字段(双击TADOQuery组件);
3.添加另外一个TADOQuery组件,设置连接属性,其SQL属性为:
SELECT *
FROM 学历字典;
使用字段编辑器增加永久字段;
4.下面右键单击字段编辑器,选择New Field选项进入关键性的一步。在弹出的对话框中首先选择要增加字段的类型,当然就是LookUp字段。
5.根据你的问题域,请设置如下的结果:
==Name:随便起个名称,如学历名称;==
==Component:系统将自动添加==
==Type:你最清楚==
==Size:有就填喽==
==KeyField:就是人员表里的学历字段==
==DataSet:就是第二个TADOQuery组件==
==LookUpKeys:就是学历字典里的学历字段==
==ResultField:就是你要的学历名称字段==
6.添加TDataSource组件和TDBGrid组件,并设置相关属性。
7.最后一步,检验结果。假如你在程序开始的时候就想查看数据,那么:
procedure TFormLookUpField.OnCreate(Sender : TObject);
begin
ADOQuery2.Open;
ADOQuery1.Open;
end;
这样就可以了,当然程序有可以优化的地方,不过关于LookUp字段的问题就此结束。