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

奇怪的前端呼叫後端SQL問題

尚未結案
jerryhung
初階會員


發表:6
回覆:46
積分:30
註冊:2002-12-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-23 16:40:38 IP:202.39.xxx.xxx 未訂閱
這是有點奇怪的情況,所以我要解釋一下,希望大家見諒也耐心看完 1. 因為需要新增功能到另一個Form,所以我把另一個已有此功能的Form的Event複製過來這個Form,改了SP的名稱,理論上就應該可以跑了 => 不行    2. 原來是動態產生一個TQuery,塞SQL進去跑,不行.後來改成放一個TQuery下去跑,也不行,再放wwQuery(InfoPower的Query),一樣不行.就差還沒用ADOQuery了    3. 我嘗試了 Open/ExecSQL/ Active := True,執行時都不行跑.可是好玩的是,在設計的時候,我如果手動去把Query設為Active,竟然就可以執行(後端SP有成功執行) ==> 無解. Compile之後Runtime竟然就不行?? * 後端直接執行SP可以執行哦 (從Query Analyzer)    4. Runtime還有兩種情況  A: 按下Button -> 程式就Freeze了 -> 但是後端竟然有執行成功 (我用Profiler也有看到執行SP) exec PDL_ProcProduct_sp '01/01/2003', '2', '1' B: 按下Button -> 程式沒死,還回報轉入成功 -> 但是後端沒有成功 (一樣有在Profiler看到) 拜託大家幫忙啦...........我嘗試了一天想破頭都想不出來說 程式碼如下 (確定在別的
Mickey
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-23 17:05:30 IP:218.163.xxx.xxx 未訂閱
試試看, 直接呼叫 BDE function : http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26025
jerryhung
初階會員


發表:6
回覆:46
積分:30
註冊:2002-12-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-23 17:54:34 IP:202.39.xxx.xxx 未訂閱
if integer(t)<>0 then Query1.Handle := t; 這段會產生錯誤 [Error] Unit1.pas(155): Cannot assign to a read-only property    我在原來的程式嘗試過,也開新的Project嘗試過,都一樣說 而且不會開啟ㄟ.....下面這是新的Application測試 procedure TForm1.Button2Click(Sender: TObject); var s: string; t:hDBICur; begin s := 'select top 1 * from PDl_ProcProduct (nolock)';//Query1.SQL.Text; // 'select * from TEST'; t := Query1.Handle; check(DbiQExecDirect(Database1.Handle,qrylangSQL,PChar(s),@t)); if integer(t)<>0 then Query1.Handle := t; end; 而且我想請問一下,到底Delphi5能不能過Top啊,因為我直接在SQL裡面放 select top 1 * from PDl_ProcProduct (nolock) 然後再Active都沒問題啊 不好意思哦,因為摸了半天還是無功,快氣死了.... 我也在新的Application裡面直接執行那個後端SP說,也是沒成功說
Mickey
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-23 22:14:09 IP:218.32.xxx.xxx 未訂閱
我已經沒有 Delphi 5 的環境可試< >...等待有緣人吧< >
jerryhung
初階會員


發表:6
回覆:46
積分:30
註冊:2002-12-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-07-10 16:44:28 IP:202.39.xxx.xxx 未訂閱
後來終於解決問題了 改成ADOCommand.Execute來執行,加上逾時改長一點就好了
系統時間:2024-06-02 1:13:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!