全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1507
推到 Plurk!
推到 Facebook!

请教一下关于clientdataset

答題得分者是:cashxin2002
yanc
一般會員


發表:4
回覆:13
積分:3
註冊:2003-10-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-07 11:21:32 IP:210.5.xxx.xxx 未訂閱
请问一下clientdataset.EmptyDataSet,clientdataset.CreateDataSet这两个的意思分别为将这个数据集清空,创建数据集我是根据单词意思来的
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-07 11:24:43 IP:63.84.xxx.xxx 未訂閱
您好!    請解釋得沒有錯啊, 只是問這個嗎? 還是有其它方面的問題?    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
yanc
一般會員


發表:4
回覆:13
積分:3
註冊:2003-10-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-07 11:39:33 IP:210.5.xxx.xxx 未訂閱
您好: 我想问我的这个数据集已经存在了为什么还要创建了
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-07 11:57:21 IP:147.8.xxx.xxx 未訂閱
CreateDataSet is needed if you use ClientDataSet as a kind of memory table without loading data from any external file/db.
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-10-07 12:08:13 IP:63.84.xxx.xxx 未訂閱
您好!    ClientDataSet是一個擁有利用快取區方法異動后端資料庫作用的元件, 也就是說只是經過上游的DataSetProvider, DataSet來連接上資料庫, 并擷取到資料, 其自身并沒有資料庫(DataSet), CreateDataSet方法是可以為ClientDataSet自身建立DataSet, 以下有一段範例程式碼, 說明動態CreateDataSet的方法及步驟, 您參考看看:
procedure TForm1.FormCreate(Sender: TObject);
begin
  with ClientDataSet1 do
  begin
    with FieldDefs.AddFieldDef do 
    begin
      DataType := ftInteger;
      Name := 'Field1';
    end;
    with FieldDefs.AddFieldDef do
    begin
      DataType := ftString;
      Size := 10;
      Name := 'Field2';
    end;
    with IndexDefs.AddIndexDef do        begin
      Fields := 'Field1';
      Name := 'IntIndex';
    end;
    CreateDataSet;
  end;
end;
===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
yanc
一般會員


發表:4
回覆:13
積分:3
註冊:2003-10-06

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-10-07 12:28:06 IP:210.5.xxx.xxx 未訂閱
请问一下在如下程序中 if clientdataset1.Active then clientdataset1.EmptyDataSet else clientdataset1.CreateDataSet; clientdataset1.Append; 如果我把clientdataset1.CreateDataSet去掉或者改为clientdataset1.open可以吗?就是说clientdataset1.open有没有clientdataset1.CreateDataSet的功能
yanc
一般會員


發表:4
回覆:13
積分:3
註冊:2003-10-06

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-10-07 12:29:03 IP:210.5.xxx.xxx 未訂閱
请问一下在如下程序中 if clientdataset1.Active then clientdataset1.EmptyDataSet else clientdataset1.CreateDataSet; clientdataset1.Append; 如果我把clientdataset1.CreateDataSet去掉或者改为clientdataset1.open可以吗?就是说clientdataset1.open有没有clientdataset1.CreateDataSet的功能. 不知道小弟这样问正确与否.
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-10-07 12:40:09 IP:63.84.xxx.xxx 未訂閱
您好!    Open方法和CreateDataSet方法是兩種不同的操作, Open當然不會有CreateDataSet的功能, CreateDataSet是建立一個新的且空的DataSet, 可用作資料編輯, 需要注意的是, 在CreateDataSet之前要先設定此DataSet的欄位形態; 而Open是開啟一個現有的DateSet, 這個DataSet就不一定是空的喔, 并允許對DataSet進行編輯.    參考看看!    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
yanc
一般會員


發表:4
回覆:13
積分:3
註冊:2003-10-06

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-10-07 12:52:13 IP:210.5.xxx.xxx 未訂閱
谢谢cashxin2002的回答,我还想问一下如何先設定此DataSet的欄位形態
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-10-07 12:59:49 IP:63.84.xxx.xxx 未訂閱
您好!    以上有篇回复中有提到如何建立欄位形態:
procedure TForm1.FormCreate(Sender: TObject);
begin
  with ClientDataSet1 do
  begin
    with FieldDefs.AddFieldDef do 
    begin
      DataType := ftInteger;
      Name := 'Field1';
    end;
    with FieldDefs.AddFieldDef do
    begin
      DataType := ftString;
      Size := 10;
      Name := 'Field2';
    end;
    with IndexDefs.AddIndexDef do        begin
      Fields := 'Field1';
      Name := 'IntIndex';
    end;
    CreateDataSet;
  end;
end;
以上紅色處即是. 其它的形態, 可在Delphi的Help中查詢到. 參考看看! ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
系統時間:2024-05-19 6:09:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!