• <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;在上面的四種方法中,第四種功能最強大,使用最靈活。

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

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 亚洲国产精品日韩在线| 亚洲欧洲精品成人久久奇米网| 亚洲VA中文字幕无码毛片| 污污视频免费观看网站| 国产jizzjizz视频免费看| 亚洲经典千人经典日产| 日本免费无遮挡吸乳视频电影| 亚洲av成人一区二区三区观看在线 | 中文亚洲成a人片在线观看| 久香草视频在线观看免费| 国产精品亚洲高清一区二区| 中文字幕无线码免费人妻| 亚洲国产精品无码久久一区二区 | 日韩免费在线中文字幕| 国产精品亚洲产品一区二区三区| 国产免费内射又粗又爽密桃视频 | 亚洲免费观看视频| a在线观看免费网址大全| 亚洲狠狠久久综合一区77777| 久久ww精品w免费人成| 亚洲一卡二卡三卡四卡无卡麻豆| 国产香蕉九九久久精品免费| 国产成人亚洲精品播放器下载 | 亚洲乱码中文字幕综合| 精品一区二区三区免费| 亚洲婷婷第一狠人综合精品| 国产成人免费福利网站| 免费一级全黄少妇性色生活片| 亚洲Av无码国产情品久久 | 三级网站免费观看| 亚洲国产精品lv| 成人毛片免费视频| 国产色爽免费无码视频| 亚洲精品天堂在线观看| www.亚洲色图| 亚洲一区免费视频| 污网站免费在线观看| 亚洲最大中文字幕| 亚洲国产一区视频| 亚洲国产精品免费观看| jizz免费在线观看|