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

請問執行異動查詢(如:delete)該用 session 或是 thread 來達成同步才對呢?

缺席
azurecloud
中階會員


發表:52
回覆:108
積分:92
註冊:2003-09-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-28 14:25:52 IP:163.13.xxx.xxx 未訂閱
各位先進好:     其實我的問題題目並不是很貼切,正確的說我是想請教大家有關 thread 中的 synchronize 的問題,若是將 Query 物件包在 thread 中,我想同步兩個以上的 Query 該是要 synchronize thread 物件的"本身"(instance)才對呀,但 synchronize 方法似乎只能 synchronize thread 物件中的其他 method (我想做的事是,例如一個班級的原始成績資料表,先把 90 分以上的挑出來,insert 到另一張資料表後,從原始資料表中 delete 掉,再找 80 分以上的,那如果我用同一個 session 或 thread 來執行的話,就要等找 90 分的 Query 完全跑完才能再跑下一個 Query,資料量一大的話很不經濟,那能不能像這樣 有點像 pipeline 的原理,我想可以節省程式執行的總時間 ),我也找過站上的文章,在 jackkcg 大大所提供的 Delphi中實現多線程同步查詢 一文中,提到了將 Query 及 Datasource 物件當作參數傳入 thread 中,然後再 synchronize 另一個 thread 物件的方法 ---- 以下節錄 原始程式片斷 ------------------------------------------------------- procedure TThreadQuery.ConnectDataSource; begin FDataSource.DataSet := FQuery;{ 該方法在查詢結束後才調用 } end; procedure TThreadQuery.Execute;{ 執行線程的方法 } ===> 能不能Synchronize(Execute)? begin try FQuery.Open; { 打開查詢 } Synchronize(ConnectDataSource);{ 線程同步 } except ShowMessage('Query Error'); { 線程異常 } end; end; ---- 以上節錄 原始程式片斷 ------------------------------------------------------- 另外像 站長大人 領航天使放在 delphi 程式範例區的 用 Thread 進行 Query 的動作 一文,我也下載來研究過,但站長只用了一個 Query 物件。此外,我想我也把 session 和 thread 的觀念完全搞混了(我在想能不能對 session 做 synchronize),請各位先進指導我,或是告訴我該上那兒去找相關的文章,感激不盡。
系統時間:2024-05-18 4:49:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!