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

ApServer端如何創建MemoryTable?

尚未結案
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-23 10:54:13 IP:210.61.xxx.xxx 未訂閱
請問在clientDataSet有createDataset可建立暫時性的table, 而在ApServer端, 我要使用臨時性的table,這個臨時性的table是暫存我資料運算的結果, 要餵給Client的ClientDataSet做報表輸出, 不知是否有方法可做到? ADOQuery裡並沒有CreateXXXX的方法, 有一個方式是sql-server的暫存@table, 可是我不想使用這個方法, 我想在ApServer上處理, 請問我該用什麼辦法? 謝謝您! 發表人 - pedro 於 2004/06/23 10:55:49
jasonma168
一般會員


發表:39
回覆:33
積分:14
註冊:2002-05-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-23 11:26:33 IP:61.64.xxx.xxx 未訂閱
1.為何不在Client處理? 2.若要在APServer,可否用Query下SQL解決? 淺見僅供參考!
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-23 12:05:32 IP:210.61.xxx.xxx 未訂閱
jasonma168謝謝您 因為我把sql-server的function(需耗時三分鐘), 改用delphi在ApServer處理, 所以需用臨時table, 如果在client端處理, 會使得apserver<->client效能延滯 我現在試著用TADODataSet.CreateDataSet看看, 不過不知道還有沒有更好的辦法?
change.jian
版主


發表:29
回覆:620
積分:439
註冊:2003-06-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-23 21:52:02 IP:218.169.xxx.xxx 未訂閱
暨然您已知道TClientDataSet可以createDataset來建立暫時性的table,那為何不直接在ApServer直接就以TClientDataSet來處理就好.    ApServer的資料是透過TDataSetProvider元件把資料傳到client端的TClientDataSet的.至於TDataSetProvider會傳什麼資料到client端,就看TDataSetProvider.DataSet這個屬性的值來決定.而TClientDataSet也是從TDataSet繼承下來的.換言之,TDataSetProvider.DataSet所指的元件,也可以是一個TClientDataSet.這樣,您的問題不就迎刃而解了!?    另外,我好奇問一下.sql-server不是本身就有temp table的功能了嗎?為什麼您不直接在sql-server寫store procedure來計算,卻要把資料從資料庫拉到apserver來做計算呢?這樣真的會比較快嗎?
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-24 11:32:09 IP:210.61.xxx.xxx 未訂閱
change.jian謝謝您 我已經用TClientDataSet做到資料運算彙總, 並以Provider送到client端了, 因為我sql-server和apserver分屬不同的機器, 聽說function很耗sql-server的資源(不知道是不是真的?), 所以原本寫好的function就改到apserver method這裡來了, 我比較過它的執行時間, 是差不多的, 不過負擔由apserver承受就是了. 為何不用sql-server的@temp暫存資料, 是想減少sql<->apserver往返的資料量, 如此而已.
系統時間:2024-08-09 16:19:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!