• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        Delphi數據集過濾技巧

        Delphi數據集過濾技巧

        更新時間:2022-04-30 文章作者:未知 信息來源:網絡 閱讀次數:

        當我們在操作數據集時,往往需要對數據進行篩眩例如:一個名為Customer的數據表,它具有CustNo、CustName、Country、Address、Phone、State、TaxRate等字段,如果只想查看國別為China或顧客號大于1000的顧客記錄,就需要對數據集進行過濾。經總結,有下面這些過濾方法:

            一、利用TTable和TQuery的Filter屬性
            1.在設計時設置Filter屬性
            例如,設置Filter為:Country=′China′然后改變Filtered屬性為True(注意,Filtered為True時過濾才有效)。則只能看到對應的Country字段內容為‘China’的記錄。
            設置Filter時可以使用的操作符有:<、>、<=、>=、=、<>、AND、OR、NOT。
            例如,設置Filter為:CustNo>=1000andCustNo<=5000,則只能看到顧客號在1000與5000之間的顧客記錄。
            2.在程序運行期間進行動態過濾
            要在程序運行時改變Filter屬性,這包括兩種情況:
            (1)操作符右邊為常量,例如:Table1Filter:=′State′+′=′+′′′HI′′′;
           注意:字符串常量必須用三對單引號括起來。
            (2)操作符右邊不為常量,可能是通過一個變量指定的值,或由一輸入框給出的值。這時需要用到Format函數。其代碼形式為:Table1Filter:=Format(′State′+′=′+′′′%S′′′,[StateValue]);其中StateValue為已經賦值的一個字符串變量,也可以為其他形式,例如:Edit1Text。

            二、用ApplyRange篩選數據集的記錄
            執行下面這段代碼,將只能看到顧客號在1000至5000之間的顧客記錄。組成該例程的幾個過程為:         
            ApplyRange,SetRangeStart,SetRangeEnd。
            Table1SetRangeStart;
            Table1[′CustNo′]:=1000;
            Table1SetRangeEnd;
            Table1[′CustNo′]:=5000;
            Table1ApplyRange;
            注意:該過程只適用于索引的字段。如果想基于非索引字段篩選,則不妨使用一點小花招:建立假索引。實現的方法為:Table1.IndexFieldNames:=字段名;Delphi還提供了簡單的調用SetRangeStart、SetRangeEnd和ApplyRange的方法,例如:Table1.SetRange([Edit1.Text],[Edit2.Text]);

            三、用OnFilterRecord事件篩選OnFilterRecord事件允許按非鍵控字段建立篩選程序
        例如:  procedure TForm1.Table1FilterRecord(DataSet:TDataSet;varAccept:Boolean);
          begin
          Accept:=DataSet[′State′]=′CA′;
          end;

            四、用TQuery控件的SQL語句
            1.SQL語句中不包含變量和參數
          Select*fromCustomer
          WhereCustNo>=1000and CustNo<=5000
            2.SQL語句中包含參數
          Select*fromCustomer
          WhereCustNo>=:CustNo
          在運行期間給參數CustNo賦值。
             3.SQL語句中包含變量
              這時向TQuery控件添加SQL語句的代碼應當這樣寫:
           Query1.Close;
           Query1.SQL.Clear;
           Query1.SQL.Add(Format(′Select*fromCustomer′+′′+′whereState=′+′′′%S′′′,[StateValue]));
           Query1.Open;在上面的四種方法中,第四種功能最強大,使用最靈活。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 99亚偷拍自图区亚洲| 亚洲日产无码中文字幕| 亚洲一区免费视频| 无码A级毛片免费视频内谢| 亚洲精品美女久久777777| 精品免费久久久久国产一区 | 国产成人精品日本亚洲网站| jizz在线免费观看| 国产aⅴ无码专区亚洲av麻豆| 人成午夜免费大片在线观看| 亚洲福利中文字幕在线网址| xxxxx做受大片在线观看免费| 久久精品国产精品亚洲| 国色精品va在线观看免费视频 | 19禁啪啪无遮挡免费网站| 亚洲黄色中文字幕| 日本免费网址大全在线观看| 亚洲人成77777在线观看网| 精品剧情v国产在免费线观看| 看一级毛片免费观看视频| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 亚洲天堂中文字幕在线观看| 成人免费看片又大又黄| 免费国产草莓视频在线观看黄| 浮力影院亚洲国产第一页| 99久在线国内在线播放免费观看 | 日本亚洲免费无线码| 国产亚洲综合视频| 亚洲热妇无码AV在线播放| 午夜免费啪视频在线观看| 国产精品亚洲精品观看不卡| 免费一级毛片不卡在线播放| APP在线免费观看视频| 亚洲一区二区三区无码国产| 亚洲?V无码成人精品区日韩 | a级毛片黄免费a级毛片| 亚洲综合小说另类图片动图| 亚洲一区二区三区在线观看精品中文| 9420免费高清在线视频| 久久人午夜亚洲精品无码区| 亚洲韩国精品无码一区二区三区|