• Delphi中用ADOQuery实现主从表的例子(转)



        在sql server 的northwide 中建立主表:

           create table sell_main( sell_id char(10),cust_name char(10) Primary key(sell_id) )

           go

        建立从表:

           create table sell_item( sell_id char(10),inv char(10) ,amt float,qty float Primary key(sell_id,inv) )

           go

        首先,要注意以下设置

            1.要注意报从表qrydetail设置,批保存开式: 即:locktype= batchoptimistic ,cursor=keyset,cursorlocation =cluseclient

            2.代码:

               procedure TForm1.FormCreate(Sender: TObject);
               begin
                  qrymain.Close;
                  qrydetail.Close;
                  qrymain.SQL.Add(' select *   from   sell_main)   ;
                  qrydetail.SQL.add('select * from sell_item where sell_id = :sell_id')  ;
                  qrymain.Open;
                  qrydetail.Open;  
               end;

           3.代码:

              procedure TForm1.qrymainAfterScroll(DataSet: TDataSet);
              begin
                 qrydetail.Close;
                 qrydetail.Parameters.ParamByName('sell_ID').Value := qrymain.fieldbyname('sell_id').value;
                 qrydetail.Open;

              end;

        以上就是主要的设置。还有注意主从表的保存问题:

        主表不要用批处理,直接保存。把ltBatchOptimistic去掉。明细表用批处理。 

        保存时先保存明细表,再保存主表即可。

  • 相关阅读:
    好听的歌 好音乐
    dubbox编译
    [HDU3038]How Many Answers Are Wrong(并查集)
    [POJ1733]Parity game(并查集 + 离散化)
    [POJ1703]Find them, Catch them(并查集)
    [luoguP2024] 食物链(并查集)
    [luoguP3355] 骑士共存问题(二分图最大独立集)
    火星探险问题
    [CODEVS1917] 深海机器人问题(最小费用最大流)
    [CODEVS1916] 负载平衡问题(最小费用最大流)
  • 原文地址:https://www.cnblogs.com/bingege/p/1698197.html
Copyright © 2020-2023  润新知