主表用Adodatset 从表用Adotable
我在对主表进行查询(用Adodatset的CommandText写SQL语句来查询)的时候遇到这样的问题
如果我查询的结果只有一条记录并且这条记录是第一条的时候
从表变成了显示全部的记录  而不是显示主表所对应的记录;
不知道我这样说大家明白没??
这问题要怎么解决??
今天做了半天都没搞定 ~~~
兄弟们帮帮忙啊 ~~

解决方案 »

  1.   

    都用adoquery或都用adodataset不行嗎?
      

  2.   

    adotable 默认是显示所有记录的
      

  3.   

    你只有用datasource关联两个数据集,不要用adotable
      

  4.   

    怎么用datasource关联两个数据集??
      

  5.   

    給你貼段代碼,其實至少有兩種方法可以實現你的功能.
    下面是我寫的系統中實現了查詢從表的數據, 是其中之一
    在主表的AfterScroll內查詢從表的數據.
    GetDetailRecords()用來獲取從表的數據. 你可以直接寫代碼比如
    commandtext:='select * from xxx_detail where code=' + 主表的主鍵================procedure TMasterData.OnAfterScroll(DataSet: TDataSet);
    begin
      if FBillOwner.DetailDataSet.Active then
      begin
        FBillOwner.Detail.GetDetailRecords();
        FBillOwner.SetBillState;
      end;
      if Assigned(FBillOwner.DataObserver) then FBillOwner.DataObserver.SendNotify();
    end;