打開clientdataset.open時出現Cannot perform this ... |
答題得分者是:jieshu
|
huangbh57
一般會員 發表:28 回覆:21 積分:9 註冊:2004-10-11 發送簡訊給我 |
我用的是三層結構,datasetprovider的options已設置為poallowcommand,並指向adoquery,客戶端為兩個DLL表單,兩個DLL表單的clientdataset都指向同一個datasetprovider,當我同時打開兩個表單時,並clientdataset.open時出現'adoquery:Cannot perform this operation on an open dataset'錯誤,如在form.onclose寫clientdataset.close時,僅打開一個表單時不出問題,如不寫clientdataset.close也會出問題,不知如何處理才能打開象多文檔表單一樣不出問題
|
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 我用的是三層結構,datasetprovider的options已設置為poallowcommand,並指向adoquery,客戶端為兩個DLL表單,兩個DLL表單的clientdataset都指向同一個datasetprovider,當我同時打開兩個表單時,並clientdataset.open時出現'adoquery:Cannot perform this operation on an open dataset'錯誤,如在form.onclose寫clientdataset.close時,僅打開一個表單時不出問題,如不寫clientdataset.close也會出問題,不知如何處理才能打開象多文檔表單一樣不出問題1.不知您兩個DLL的Connection元件是否共用? 2.ClientDataSet.PacketRecords是否不是-1? 3.以上兩項可能造成開啟的ADOQuery保持開啟, 以致後來使用的會出現不能在開啟的DataSet做操作的錯誤, 這是有狀態的設計, 應該不能共用. 4.無狀態的設計才可共用, 板上有討論過, 您可找看看. <iFrame src="http://www.coss.com.tw/jieshu/sign.htm" width=400 height=105 scolling="NO" border="0"></iFrame> 震江系統(股)公司: http://www.coss.com.tw/ 捷舒軟體設計坊: http://www.coss.com.tw/jieshu/
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
huangbh57
一般會員 發表:28 回覆:21 積分:9 註冊:2004-10-11 發送簡訊給我 |
|
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 我的兩個DLL表單共用connection(因不可能每打開一個表單都對服務器進行連接),ClientDataSet.PacketRecords設為10,你說網上討論過,但我找了半天還是找不到,如有時間幫我找一下網址,多謝!!!用無狀態 PacketRecords做關鍵字查詢 http://delphi.ktop.com.tw/quicksearch.exe/quicksearch?SearchStr=µLª¬ºA PacketRecords <iFrame src="http://www.coss.com.tw/jieshu/sign.htm" width=400 height=105 scolling="NO" border="0"></iFrame> 震江系統(股)公司: http://www.coss.com.tw/ 捷舒軟體設計坊: http://www.coss.com.tw/jieshu/
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |