zoukankan      html  css  js  c++  java
  • Delphi数据库开发之TTable篇2

      虽然从各方面的信息来看BDE已经日落西山的感觉,但一种成熟的东西被完全忘却是需要很长一段时间的。还是把一些TTable控件一些常用的方法记录一下。数据库应用程序很多时候都需要显示主从表数据,而上节说到TTable主要是用于显示数据列表的,所以TTable在该情况下使用较简易。
       例如:Table1用于提取主表的数据,主键名为A,DataSource1连接Table1,用DBGrid1;Table2用于提取子表数据,外键为B,用DBGrid2显示。要求在DBGrid1的当前记录改变时,DBGrid2能显示对应的子表数据。
      方法1:使用MasterField和MasterSource属性,该方法比较易用,但可控制程度稍低。只要指定Table2的MasterSource属性为DataSource1,在MasterField的对话框中把A B指定为Join Field即可实现主从表数据显示。
      方法2:使用Filter和Filtered属性。该方法涉及的方面比较多,而且还有引号的问题,但可数据操作较灵活。同样是上面的控件。
           Table1AfterScroll事件加入
             if not  Table1.IsEmpty then           
                Table2.Filter:='B='+QuotedStr(Table1.FieldByName('A').AsString);
                  else Table2.Filter:='B='+QuotedStr('-9999');
                  Table2.Filtered:=True;

                该代码假设B字段是文本型字段,A不可能取值为'-9999'
  • 相关阅读:
    用归并排序或树状数组求逆序对数量 poj2299
    UVA10600 次小生成树
    最小生成树求最大比率 UVALive
    求树的重心 poj 1655
    求树的直径+并查集(bfs,dfs都可以)hdu4514
    树形DP+RMQ+尺取法 hdu4123
    区间dp 51nod1021
    LCS poj1080
    最长公共子序列hdu1503
    python No handlers could be found for logger错误的解决
  • 原文地址:https://www.cnblogs.com/Byeah/p/3162430.html
Copyright © 2011-2022 走看看