一執行 Locate 就會當掉?? |
尚未結案
|
tony115722
一般會員 ![]() ![]() 發表:53 回覆:63 積分:23 註冊:2002-07-09 發送簡訊給我 |
|
tony115722
一般會員 ![]() ![]() 發表:53 回覆:63 積分:23 註冊:2002-07-09 發送簡訊給我 |
|
nick167
中階會員 ![]() ![]() ![]() 發表:86 回覆:133 積分:53 註冊:2003-02-12 發送簡訊給我 |
|
tony115722
一般會員 ![]() ![]() 發表:53 回覆:63 積分:23 註冊:2002-07-09 發送簡訊給我 |
|
P.D.
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言:1.bde有出兩版更新, 不知你是否有更新到 5.11 2.改用 TTable 元件來試試看, 另外不知你接的資料庫是那一種, 我曾有 這樣的經驗, 一樣用 locate, 但筆數十分大, 結果造成locate非常久, 感覺上好像當機, 其實過了20分鐘才找到! 3.試試看單純化寫法, 如 query1.locate('USER_ID','0001',[]) debug本來就很累, 如果原程式無法動, 調整為越簡單作業越好!引言: 原本是可以執行的,而且很正常,但是我發現經更新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 |
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹒ 應該不是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 發送簡訊給我 |
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 發送簡訊給我 |
|
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
tony115722
一般會員 ![]() ![]() 發表:53 回覆:63 積分:23 註冊:2002-07-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |