線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1279
推到 Plurk!
推到 Facebook!

動態產生欄位,會把舊的清空?

尚未結案
bcshahuo
一般會員


發表:28
回覆:28
積分:11
註冊:2005-01-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-17 10:08:18 IP:211.23.xxx.xxx 未訂閱
With wwclientdataset1 Do Begin close; F := TIntegerField.Create(wwclientdataset1); F.FieldName := '產品名稱'; F.Calculated := true; f.KeyFields := '產品代號'; f.LookupDataSet := wwclientdataset3; f.LookupKeyFields := '品名代號'; f.LookupResultField := '品名'; F.DataSet := wwclientdataset1; FieldDefs.Update End; 這是我新增一欄位的寫法,在這之前,我的欄位是用sql語法串好,丟到 ADODataSet1.CommandText裡,那時已經有五個欄位了。 但執行以上程式時,我的五個欄位已被清空,不知這是什麼原因?
mustapha.wang
資深會員


發表:89
回覆:409
積分:274
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-18 09:28:30 IP:210.22.xxx.xxx 未訂閱
如果没有创建永久字段,DataSet Close后Fields就没有了。 如果要想创建一个计算字段,那么必须把需要的字段全部创建成永久字段,如
DataSet1.SQL.Text:='xxxxxxxx where 1=2';
DataSet1.Open;
DataSet1.FieldDefs.Update;
DataSet1.Close;
for i:=0 to DataSet1.FieldDefs.Count-1 do
  DataSet1.FieldDefs[i].CreateField(DataSet1);
F:=TIntegerField.Create(DataSet1);
.......
DataSet1.SQL.Text:=xxxxxxxx';
DataSet1.Open;
久病成良医--多试 千人之诺诺,不如一士之谔谔--兼听
------
江上何人初见月,江月何年初照人
bcshahuo
一般會員


發表:28
回覆:28
積分:11
註冊:2005-01-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-19 10:03:25 IP:211.23.xxx.xxx 未訂閱
引言: 如果没有创建永久字段,DataSet Close后Fields就没有了。 如果要想创建一个计算字段,那么必须把需要的字段全部创建成永久字段,如
DataSet1.SQL.Text:='xxxxxxxx where 1=2';
DataSet1.Open;
DataSet1.FieldDefs.Update;
DataSet1.Close;
for i:=0 to DataSet1.FieldDefs.Count-1 do
  DataSet1.FieldDefs[i].CreateField(DataSet1);
F:=TIntegerField.Create(DataSet1);
.......
DataSet1.SQL.Text:=xxxxxxxx';
DataSet1.Open;
久病成良医--多试 千人之诺诺,不如一士之谔谔--兼听
不好意思。再請問一下 當DataSet1.Close; 時,count就會等於0 那for i:=0 to DataSet1.FieldDefs.Count-1 do DataSet1.FieldDefs[i].CreateField(DataSet1); 就沒用了。 因我是每次sql都重丟一次(程式上的需要) 這樣還有辦法新增計算欄位嗎?
mustapha.wang
資深會員


發表:89
回覆:409
積分:274
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-23 13:28:35 IP:210.22.xxx.xxx 未訂閱
RecordCount虽然等于0,但FieldDefs.Count是不为0的。 每次丢sql没有关系,只要每次sql抓出的Field都一样就好了,每次都一样,那个CreateField的动作只做一次就行了,如在Form的OnCreate     久病成良医--多试 千人之诺诺,不如一士之谔谔--兼听
------
江上何人初见月,江月何年初照人
系統時間:2024-06-19 6:09:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!