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

dbExpress的問題==> Cursor not returned from Query

尚未結案
kensoong
初階會員


發表:31
回覆:70
積分:45
註冊:2003-05-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-30 18:58:35 IP:61.56.xxx.xxx 未訂閱
Windows XP, Delphi7 最新的dbExpress SQL Server Snippet codes:(在BeforeDelete事件中撰寫如下codes) procedure TDmOP.cdsMVesselBeforeDelete(DataSet: TDataSet); var keyval: String; begin if not cdsIMPG.IsEmpty then begin Showmessage('This xxx contains job(s):' cdsIMPG.FieldByName('JOB_NO').AsString ' and cannot be deleted !'); // Showmessage(cdsIMPG.FieldByName('JOB_NO').AsString); Abort; end else begin keyval := cdsMVessel.FieldValues['VSL_CODE']; cdsMVessel.Active := False; cdsMVessel.CommandText := 'DELETE FROM MVESSEL WHERE VSL_CODE =''' keyval ''''; cdsMVessel.Active := True end; end; 問題發生在cdsMVessel.Active := True這一行... PS: 在cdsMVessel的上層TQuery之SQL屬性有預先撰寫了簡單的SQL: select * from MVessel; 請教各位前輩不知如何解呢? 謝謝!!
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-30 20:26:16 IP:218.32.xxx.xxx 未訂閱
kensoong 你好 : cdsMVessel.Active := True; 改成 cdsMVessel.Execute; 試試看.
kensoong
初階會員


發表:31
回覆:70
積分:45
註冊:2003-05-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-31 09:24:45 IP:61.56.xxx.xxx 未訂閱
謝謝Mickey... 可否順便一問... 我是用dbExpress TDBNavigator來執行Delete, 一定要自己模擬'Delete from ...." 下SQL指令才行... 不知有更簡便的方法可以真正delete記錄呢? 試過applyupdates(-1)仍不行耶.
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-31 15:03:13 IP:218.163.xxx.xxx 未訂閱
引言: 試過applyupdates(-1)仍不行耶.
kensoong 你好 : 我沒有 dbExpress MSSQL 的實作經驗... 建議 : TDataSetProivder.ResolveToDataSet := True; 試試看. 若還是不行, 加個 TSQLMonitor 元件, 監看一下 DBExpress 下了什麼 SQL 給後端 DataBase.
系統時間:2024-09-09 17:35:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!