关于clientdataset的,cds文件更新问题 |
答題得分者是:P.D.
|
terry_zhou82
一般會員 發表:8 回覆:22 積分:6 註冊:2012-08-28 發送簡訊給我 |
我在clientdataset1.loadfromfile(c:\1.cds'),之后,deletefile了这个文件,在copyfile(d:\1.cds,c:\1.cds);但是在执行过后,一定要关闭程序,重新开启,他才会显示新的1.cds的内容(我估计会不会是因为内存表的驻留内存的问题,但是不知道如何清空,用clientdataset1.close好像可以实现,但是那个时候dbgrid里面的内容会为空,看的不太爽),我想实现实时显示,copy好之后,直接在dbgrid里面显示新的cds,
|
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
追求完美是好事, 但有時反而會害了自己
試試這招 ClientDataSet1.DisableControls; ClientDataSet1.Close; ClientDataSet1.LoadFromFile(xxxxx); ClientDataSet1.Open; ClientDataSet1.EnableControls; ===================引 用 terry_zhou82 文 章=================== 我在clientdataset1.loadfromfile(c:\1.cds'),之后,deletefile了这个文件,在copyfile(d:\1.cds,c:\1.cds);但是在执行过后,一定要关闭程序,重新开启,他才会显示新的1.cds的内容(我估计会不会是因为内存表的驻留内存的问题,但是不知道如何清空,用clientdataset1.close好像可以实现,但是那个时候dbgrid里面的内容会为空,看的不太爽),我想实现实时显示,copy好之后,直接在dbgrid里面显示新的cds, |
terry_zhou82
一般會員 發表:8 回覆:22 積分:6 註冊:2012-08-28 發送簡訊給我 |
呵呵,谢谢大大们,我这里心黑,又有个问题,是关于循环选中内容的,但是下面的代码移植会弹出"at the beginnnig of the table",不知道是何故,望大大们帮我看看,谢谢!
[code delphi] var s,i:integer; begin if not clientdataset1.eof then begin ClientDataSet1.Filter := ''; ClientDataSet1.Filtered := True; Randomize; begin for i:=0 to ClientDataSet1.RecordCount -1 do begin s:=Random(ClientDataSet1.RecordCount); end; ClientDataSet1.recno:=s; // clientdataset1.first; DBGrid1CellClick(DBGrid1.Columns[1]); showmessage(inttostr(s)); // showmessage(clientdataset1.fieldbyname('名字').asstring); end; end; end; procedure TForm1.DBGrid1CellClick(Column: TColumn); begin title3:=clientdataset1.FieldByName('名字').AsString; end; [/code] |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
請另發文討論, 否則一問再問, 這帖豈不永遠結束的日子, 這樣其他網友要搜尋也很困擾
===================引 用 terry_zhou82 文 章=================== 呵呵,谢谢大大们,我这里心黑,又有个问题,是关于循环选中内容的,但是下面的代码移植会弹出"at the beginnnig of the table",不知道是何故,望大大们帮我看看,谢谢! [code delphi] var s,i:integer; begin if not clientdataset1.eof then begin ClientDataSet1.Filter := ''; ClientDataSet1.Filtered := True; Randomize; begin for i:=0 to ClientDataSet1.RecordCount -1 do begin s:=Random(ClientDataSet1.RecordCount); end; ClientDataSet1.recno:=s; // clientdataset1.first; DBGrid1CellClick(DBGrid1.Columns[1]); showmessage(inttostr(s)); // showmessage(clientdataset1.fieldbyname('名字').asstring); end; end; end; procedure TForm1.DBGrid1CellClick(Column: TColumn); begin title3:=clientdataset1.FieldByName('名字').AsString; end; [/code] |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |