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

ADOTable post資料後, close又open之後的錯誤...>_<

缺席
361002
一般會員


發表:7
回覆:18
積分:5
註冊:2003-04-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-29 10:20:27 IP:203.69.xxx.xxx 未訂閱
我在程式中, 新增資料至一個table, post之後, 我下了close指令, 再下open指令, 系統會出現....can't perform this operation in a closed dataset.    而且, 很奇怪的狀況是, 這個錯只會出現在, 我執行一個excel匯出動作之後, 可是, 我excel匯出的功能, 跟這個table完全沒有關聯, 為什麼會發生這個問題呢?  煩請各位高手指點一二, 謝謝! 發表人 -
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-29 10:36:36 IP:203.95.xxx.xxx 未訂閱
由錯誤訊息來看. 確時是要操作一個 closed dataset, 但不是 open 造成的, 請詳細 check 一下你的流程, 因為通常發生的原因是不小心對未開啟的 dataset 進行異動或讀取的行為才會有這樣的錯誤訊息!
361002
一般會員


發表:7
回覆:18
積分:5
註冊:2003-04-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-29 11:18:36 IP:203.69.xxx.xxx 未訂閱
我試了很多種方法....終於try出為什麼會出現這個錯誤, 原因在, 我讓user用opendialog方式,自行選取一個excel檔, 我再把資料寫入該檔案中... 我如果把opendialog拿掉, 直接指定檔案, 就不會有這個問題, 為什麼呢? 因為excel這部份是要套表,套固定格式,所以沒辦法固定filename,所以請問各位朋友,有其它方法可以解決這個問題嗎?
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-09-29 11:49:42 IP:63.84.xxx.xxx 未訂閱
您好!    是否可請列出這段相關的程式碼!    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-09-29 13:21:49 IP:203.95.xxx.xxx 未訂閱
是不是使用者不選檔案的狀況下發生的呢? 可以在執行 opendialog 後檢查是否有選擇檔案, 若沒有再繼續選擇.
361002
一般會員


發表:7
回覆:18
積分:5
註冊:2003-04-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-09-29 13:49:57 IP:203.69.xxx.xxx 未訂閱
因程式有五六千行, 我debug時, 它出現的錯誤是 OleException with message'系統找不到指定的路徑' 還有, 我的table都是用xml方式LoadFromFile,及SaveToFile. 我有寫一個類似的小程式去實作....並沒有問題...不知問題到底出在那裡?
361002
一般會員


發表:7
回覆:18
積分:5
註冊:2003-04-10

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-09-29 13:53:32 IP:203.69.xxx.xxx 未訂閱
沒, 是選檔後產生excel檔, 再去別個page做查詢動作時發生的, 問題是, 兩個功能用的是不用的table, 為什麼會有影響呢? 如果不使用opendialog直接指定檔名, 就不會發生這個錯誤, 有人知道是為什麼嗎? :( 我真的找不到問題...
361002
一般會員


發表:7
回覆:18
積分:5
註冊:2003-04-10

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-09-29 14:02:10 IP:203.69.xxx.xxx 未訂閱
button1 in page1 : 用A Table查出來的資料來產生excel if OpenDialog1.Execute then begin try MyExcel := CreateOleOBject('Excel.Application'); MyExcel.WorkBooks.open(OpenDialog1.FileName); MyExcel.visible := true; ... 略(因為這一段mark掉並不影響錯誤的產生...我試過了>_<) ... except showmessage('產生Excel檔失敗!'); end; end; button2 in page2 : 用來查詢下單狀況 //清除table內的資料 with dmMain.adoTable_QueryOrder do begin DisableControls; Filtered:=False; while RecordCount > 0 do Delete; EnableControls; end; //依帳號將委託資料查出 len:=QueryList.Count; //確定要查詢的帳號 for i:=0 to len-1 do begin QueryOrder(Trim(QueryList.Strings[i])); //再此功能中, 會將查出來的資料 insert data into dmMain.adoTable_QueryOrder end; //依欄位做filter with dmMain.adoTable_QueryOrder do begin DisableControls; Filtered:=False; ... 略 (產生filter條件) ... Filter:=filter 條件; Filtered:=True; SaveToFile(PROGRAMPATH 'XML\QueryOrder.xml',pfXML); Close; Open; First; EnableControls; end;
361002
一般會員


發表:7
回覆:18
積分:5
註冊:2003-04-10

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-09-29 14:07:01 IP:203.69.xxx.xxx 未訂閱
對不起, 忘了補上, 錯誤會在執行  //依欄位做filter     with dmMain.adoTable_QueryOrder do     begin       DisableControls;       Filtered:=False;       ...       略 (產生filter條件)       ...       Filter:=filter 條件;       Filtered:=True;       SaveToFile(PROGRAMPATH+'XML\QueryOrder.xml',pfXML);       Close;       Open;  <-------OleException error with message 系統找不到指定的路徑       First;       EnableControls;     end;
系統時間:2024-05-18 6:20:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!