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

一執行 Locate 就會當掉??

尚未結案
tony115722
一般會員


發表:53
回覆:63
積分:23
註冊:2002-07-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-13 11:30:17 IP:210.63.xxx.xxx 未訂閱
大家好: 請問為何一執行 Locate 就會當掉??有查過其他的文章,大家討論說Locate 本身就有問題,請問大家是否也曾遇過相同問題,並如何解決呢?? query1.Locate('USER_ID',fieldbyname('del_uid').Value,[]) 試過傳 [loCaseInsensitive] 或 [loPartialKey] 也沒幫助,一樣當 初學者出沒注意!!
------
I like DeBug
tony115722
一般會員


發表:53
回覆:63
積分:23
註冊:2002-07-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-13 13:08:41 IP:210.63.xxx.xxx 未訂閱
原本是可以執行的,而且很正常,但是我發現經更新BDE後就不能執行.由BDE4.0更新為BDE5.0請問,Locate 跟 BDE有關係嗎?請問這是BDE5.0的BUG嗎? 初學者出沒注意!!
------
I like DeBug
nick167
中階會員


發表:86
回覆:133
積分:53
註冊:2003-02-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-13 16:53:29 IP:61.228.xxx.xxx 未訂閱
引言: 原本是可以執行的,而且很正常,但是我發現經更新BDE後就不能執行.由BDE4.0更新為BDE5.0請問,Locate 跟 BDE有關係嗎?請問這是BDE5.0的BUG嗎? 初學者出沒注意!!
可以試看看 if not query1.Locate('USER_ID',fieldbyname('del_uid').Value,[]) then showmessage('not found') else showmessage('found'); 看是否當在locate
tony115722
一般會員


發表:53
回覆:63
積分:23
註冊:2002-07-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-13 17:19:30 IP:210.63.xxx.xxx 未訂閱
對...死在 locate 連 then 都不跑呢 初學者出沒注意!!
------
I like DeBug
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-13 17:40:15 IP:61.66.xxx.xxx 未訂閱
引言:
引言: 原本是可以執行的,而且很正常,但是我發現經更新BDE後就不能執行.由BDE4.0更新為BDE5.0請問,Locate 跟 BDE有關係嗎?請問這是BDE5.0的BUG嗎? 初學者出沒注意!!
可以試看看 if not query1.Locate('USER_ID',fieldbyname('del_uid').Value,[]) then showmessage('not found') else showmessage('found'); 看是否當在locate
1.bde有出兩版更新, 不知你是否有更新到 5.11 2.改用 TTable 元件來試試看, 另外不知你接的資料庫是那一種, 我曾有 這樣的經驗, 一樣用 locate, 但筆數十分大, 結果造成locate非常久, 感覺上好像當機, 其實過了20分鐘才找到! 3.試試看單純化寫法, 如 query1.locate('USER_ID','0001',[]) debug本來就很累, 如果原程式無法動, 調整為越簡單作業越好!
cashxin2002
版主


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-08-13 17:54:57 IP:63.84.xxx.xxx 未訂閱
您好﹒    應該不是BDE V5.01的BUG  小弟有用此版本BDE做測試﹐可以做正常查詢﹒ 小弟覺得問題應該是出在fieldbyname('del_uid').Value這個變數上﹐可能因為Locate是查詢單一欄位的方法﹒ 請您先試試將fieldbyname('del_uid').Value這一句改為一個真實的值﹐比如說'A001'(當然這個值是在'USER_ID'中存在的值)﹐再Run一下應該就可以了﹒ 至于解決的方法﹐小弟的建議﹐既然您是使用Query﹐何不用SQL語法來進行查詢的動作﹐效率及各方面都會比使用Locate要出色一些﹒ 參考看看﹗ 努力,相信會獲得美麗! 忻晟 發表人 - cashxin2002 於 2003/08/13 18:17:14
------
忻晟
tony115722
一般會員


發表:53
回覆:63
積分:23
註冊:2002-07-09

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-08-13 17:59:17 IP:210.63.xxx.xxx 未訂閱
1.我更新到 5.10 後就可以用了,不過delphi的元件列圖示全亂了..天啊.. 2.我是用oracle資料庫在 bde4.0執行時是需要花點時間,大約1分鐘,不過更新到5.0時,等了十幾分鐘也出不來耶,我想不應該差這麼多吧... 3.單純化寫法:query1.Locate('USER_ID',fieldbyname('del_uid').Value,[])..這樣子應該也沒太復雜吧..我想 如果我只更新使用者電腦的 BDE 5.10,而我自己編輯環境不更新,會不會有問題呀??不然元件圖示全亂了會很難看也很好笑耶... 初學者出沒注意!!
------
I like DeBug
tony115722
一般會員


發表:53
回覆:63
積分:23
註冊:2002-07-09

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-08-13 18:17:47 IP:210.63.xxx.xxx 未訂閱
可是我在 4.0 跑時都很正常,直到更新5.01後才變成不可以run的耶...好奇怪 希望能不更新 code 的情況下解決..謝謝 沒有選擇sql 是因為要方便使用者可能會要看這筆資料附近的其他筆資料,如果用sql只會顯示一筆,而 locate 可以將指標指到該筆,而附近的其他筆資料也可以一並看到 初學者出沒注意!!
------
I like DeBug
cashxin2002
版主


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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-08-13 18:34:11 IP:63.84.xxx.xxx 未訂閱
歹勢 <>>這一句應該沒有問題﹐是自己粗心大意﹐看錯了﹐失禮失禮﹗ 但小弟的
------
忻晟
tony115722
一般會員


發表:53
回覆:63
積分:23
註冊:2002-07-09

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-08-14 09:00:32 IP:210.63.xxx.xxx 未訂閱
小弟能接受可能是跑太久了,所以以為是當掉了..不過使用者可能就不太能接受這個理由了吧,我想,因為從原本等的1分鐘..變成20幾分鐘..這..這...說出去只有等著被使用者刁吧...我想.. 我的環境是 > 初學者出沒注意!!
------
I like DeBug
系統時間:2024-09-07 17:40:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!