最近自己在摸索主从表问题.总是有点错误,,谁能给我一个有基本功能的实例,用两个ADOQUERY来实现的.有新增,修改,保存,上一个,下一个,最好能个简单的ACCESS表在里面.让小弟学习学习..

解决方案 »

  1.   

    因为我们公司都是用ADOQUERY的.所以有ADOQUERY的实例就发给我..ADODataset实例我自己已经有了.
      

  2.   

    ADODataset和adoquery的主从表控制应该差不多吧
      

  3.   

    说说你的问题吧。只是要代码?
    一个Eazy的方法:做成单表维护,在界面上弹出子表维护。在删除主表记录的时候要做检查。
    会不会写界面调用呢?
      

  4.   

    我就是想ADOQUERY的实例学习一下,有的请发。谢谢
      

  5.   

    ADOQuery完全可以实现。做个记号,晚上再发例子。
      

  6.   

    这么麻烦干吗?直接在DELPHI的安装目录下,有个DEMO目录,在里面找找,好多......
      

  7.   

    1、窗体上放两个ADOQuery、两个DataSource;
    2、ADOQuery1用来连接主表,SQL属性设为select * from 主表名,并将DataSource1连接到AODQuery1;
    3、ADOQuery2用来连接主表,SQl属性设为select * from 从表名 where 关联字段名=:关联字段名,并将DataSource2连接到AODQuery2;
    4、设置ADOQuery2的DataSource属性为DataSource1。
    5、放两个DBNavigator和两个DBGrid分别连接到两个DataSource。OK搞定。关键是第3步的从表SQL,假设主表结构为 班级编号、班主任姓名,从表结构为 班级编号、学号、姓名,,关联字段为班级编号,则SQL语句为select * from 从表名 where 班级编号=:班级编号
      

  8.   

    上面的:ADOQuery2用来连接主表,SQl属性设为select * from 从表名 where 关联字段名=:关联字段名,按一般的写法不是应该这样吗?:select * from 从表名 a,主表名 b where a.关联字段=b.关联字段.
      

  9.   

    http://community.csdn.net/Expert/topic/5019/5019327.xml?temp=.4300501
      

  10.   

    假設主表是一個學生信息表key是stu_no即序號從表是選課信息表key是stu_no 和 class_no
    兩個表的聯接是通過stu_no聯接。
      在窗體上放置兩個query控件,分別命名為qmain和qdetail,qmain聯接主表學社信息表qdetail聯接從表選課信息表.注意qdetail的datasource設置為qmain.我是在query的sql屬性中加入sql代碼的.
       相關代碼如下:
    qmain的sql語句:select * from stu_main
    qdetail的sql語句: select * from stu_detail where stu_no=:stu_no
    notes:從表中設置一個變量。 procedure TForm2.Button3Click(Sender: TObject);begin  qmain.Close;
      qmain.Open;//查詢主表的內容  qdetail.Close;
      qdetail.ParamByName('stu_no').Value:=qmain.FieldValues['stu_no'];//將主表和從表聯接起來
      qdetail.Prepare;
      qdetail.Open;//查詢出從表的內容。
    end;
    ------------------------------------------------------
    sorry,suddently i can not input chinese 
    now you need input the event below
    ------------------------------------------------------
    procedure TForm2.QmainAfterScroll(DataSet: TDataSet);
    begin
      qdetail.Close;
      qdetail.ParamByName('stu_no').Value:=qmain.FieldValues['stu_no'];
      qdetail.Prepare;
      qdetail.Open;
    end;