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

使用ADOQuery查詢後可不可以不規則的填入表單中?

尚未結案
enu
中階會員


發表:36
回覆:93
積分:55
註冊:2003-10-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-02 04:36:33 IP:218.165.xxx.xxx 未訂閱
各位先進好: 小弟使用ADOQuery查詢後有,可不可以不規則的填入表單中?比如第一筆資料填入第二欄第四列,第二筆資料填入第一欄第二列,第三筆資料填入第四欄第三列…,表單應以什麼元件呈現較佳呢?懇請賜教!感謝!
jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-02 08:42:52 IP:211.75.xxx.xxx 未訂閱
你是指寫到DB還是只有UI上的修改???? 如果是寫到DB的話,如果你是用Table元件其最終結果一定是整筆資料作修改更新(這點你可以直接由DB追蹤監測程式得知),其更新動作的效率以DB角度來說,極其的慢(會比對所有欄位). 如果是只針對UI上的修改,如果是使用TADOQuery的話可以呼叫Insert來新增一筆資料.設定每個欄位的值使用FieldByName來設定(跟你取每個欄位的值一樣,只是一個是讀一個是寫).但最後不呼叫更新DB的動作. 針對你的問題,如果是要更新到DB上,建議你直接使用SQL Command效能比較高,可以避掉多個欄位比對所浪費的問題(你不會告訴我你的DB Table沒有唯一可供識別的欄位吧????).
enu
中階會員


發表:36
回覆:93
積分:55
註冊:2003-10-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-04 21:06:13 IP:218.165.xxx.xxx 未訂閱
jcjroc 大大您好,抱歉說明不清楚;小弟不是要更動資料庫,已依據查詢的條件將資料查詢出來了,現在要將它寫到一張表格中,而這張表格就像excel的工作表一樣,第一行有標題欄位(如A、B、C、D),第一列也有標題欄位(如a、b、c、d),如果要將第一筆資料寫入Bc欄位,第二筆資料寫入Ca欄位,依此類推,試問先進們有什麼方式可以呈現這樣的表單比較好(方法、表單元件…等)?謝謝各位先進!
jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-11-06 19:51:48 IP:60.248.xxx.xxx 未訂閱
你是指不依查詢結果的欄位順序在同一列裡面顯示嗎???那用DBGrid就好了,然後指定DBGrid中各欄位對應的Field就可以了 如果需顯示在不同列,那用StringGrid吧!!至於如何Show資料,只有自己寫程式控制.
enu
中階會員


發表:36
回覆:93
積分:55
註冊:2003-10-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-11-11 04:06:58 IP:218.165.xxx.xxx 未訂閱
謝謝jcjroc 大大,後來小弟採用StringGrid,程式控制如下:
 
while(ADOQuery1->Eof != true )
  {
   StringGrid1->Cells[3][1]= ADOQuery1->Fields->Fields[0]->AsString;
   StringGrid1->Cells[1][2]= ADOQuery1->Fields->Fields[1]->AsString;
   StringGrid1->Cells[4][8]= ADOQuery1->Fields->Fields[2]->AsString;
  ………more
  }
但卻發生List index out of bounds(1) 的錯誤,不知道這該如何修正呢?謝謝!
jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-11-13 22:33:28 IP:60.248.xxx.xxx 未訂閱
你要先確定你的StringGrid有那些欄與列存在阿!!!
enu
中階會員


發表:36
回覆:93
積分:55
註冊:2003-10-22

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-11-20 00:15:50 IP:218.165.xxx.xxx 未訂閱
引言: 你要先確定你的StringGrid有那些欄與列存在阿!!!
jcjroc 大大您好,您是指像下列的設定嗎?
StringGrid1->RowCount=10;
StringGrid1->ColCount=10;
 
我有指定了,可結果還是一樣耶!不知道問題出在那裡?可否再請教?感謝!
jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-11-20 23:02:03 IP:60.248.xxx.xxx 未訂閱
那你確定你的DataSet有那些Field存在嗎???
系統時間:2024-03-28 23:55:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!