求一个用lookup字段和dbgrid的例子。最好是ADO的。我按照有关说明,包括csdn上的有关贴子做都没有成功。请大家帮忙给个简单例子。

解决方案 »

  1.   

    www.2ccc.com
    www.delphiun.com
    都有
      

  2.   

    表A:(人员表)
    姓名(char)    学历(int)表B:(学历字典)
    学历编号(int)    学历名称(char)在dbgrid里显示表A的内容。一般来说学历字段就显示为int型的数字。这里我想在dbgrid中显示表B中对应的学历名称的内容。应该通过lookup字段实现吧,但是我却高不定帮忙找(做)个例子。。谢谢。
      

  3.   

    利用CSDN的搜索功能,关键字:LOOKUP
      

  4.   

    好,跟着我的步骤开始吧。
    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字段的问题就此结束。