如何找中ClientDataSet中重覆的資料 |
缺席
|
oll24286
一般會員 發表:7 回覆:7 積分:2 註冊:2004-11-30 發送簡訊給我 |
|
jackiemi2_seed
中階會員 發表:37 回覆:97 積分:76 註冊:2006-09-11 發送簡訊給我 |
最笨的方法,參考看看
[code delphi] cddetail.DisableControls;//與相關 Control 元件脫勾 cddetail.IndexFieldNames:='xxx;cccc';//依主鍵去作排序 s_xxx:=''; s_ccc:=''; cddetaiL.first; while not cddetail.Eof do begin if ((cddetail.FieldValues['xxx']=s_xxx) and (cddetail.FieldValues['ccc']=s_ccc)) then begin showmessage('重複'); end; s_xxx:=cddetail.FieldValues['xxx']; s_ccc:=cddetail.FieldValues['ccc']; cddetail.next; end; cddetail.EnableControls;與相關 Control 元件掛勾 [/code]
------
OS : Win 7 pro Program : Delphi 7 DataBase : Ms Sql 2008
編輯記錄
jackiemi2_seed 重新編輯於 2007-10-12 10:17:06, 註解 無‧
|
christie
資深會員 發表:30 回覆:299 積分:475 註冊:2005-03-25 發送簡訊給我 |
借用TStringList, Indexof
找ClientDataSet中重覆的資料,Ex: var ss:TStringList; begin ss:=TStringList.Create; Clientdataset1.DisableControls; while not ClientDataSet1.Eof do begin if ss.IndexOf(ClientDataSet1.FieldByName('T_SU').asstring) >=0 then ShowMessage(ClientDataSet1.FieldByName('T_NO').asstring ' T_SU Duplicated!') else begin ss.Add(ClientDataSet1.FieldByName('T_SU').asstring); end; clientdataSet1.next; end; Clientdataset1.EnableControls; ss.SaveToFile('ALLT_SU.txt'); ss.Free end;
------
What do we live for if not to make life less difficult for each other?
編輯記錄
christie 重新編輯於 2007-10-20 09:39:24, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |