数据库:(举例来说)
student(id,name,sex,class_id,teacher_id)连接表ADOTable1;
class(class_id,name),连接表ADOTable2;
teacher(teacher_id,name)连接表ADOTable3;
那我现在用DBGrid来显示student表的记录,而class_id的字段值要显示class的name;teacher_id要显示teacher的name。请问除了作一视图外,还有什么好的方法?望指教!

解决方案 »

  1.   

    select s.name,s.sex,c.name,t.name from student s, class c, teacher t where s.class_id = c.class_id and s.teacher_id = t.teacher_id没有测试,大致就是这个样子。
      

  2.   

    加个adoquery与dbgrid关联。用select显示你所要关联两表和显示的字段就行了。。
      

  3.   

    方法一,用SQL语句,然后用ADOQuery控件
    select s.name,s.sex,c.name,t.name from student s, class c, teacher t where s.class_id = c.class_id and s.teacher_id = t.teacher_id
    方法二,用Lookup字段
      

  4.   

    用lookup子段最好啦!又可以更新,你用多表查詢不能更新到數據庫中的
      

  5.   

    请问用Lookup字段如何实现啊,以前从来没用过,谢谢!
      

  6.   

    在ADOTable1上双击,然后右键Add all fields 
    然后再右键New fields 
    然后输入字段名、字段类型,然后再选lookup
    然后在数据集哪里选ADOTable2
    两个字段那里都选class_id文字不能说那么清楚,希望你理解
      

  7.   

    select a.id,a.name,a.sex,b.name classname,c.name teachername from student a
    left join class b on a.class_id=b.class_id left join teacher c on a.teacher_id=
    c.teacher_id