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

Locate搜索值有 ' 會出錯

答題得分者是:darnell
jackiemi2_seed
中階會員


發表:37
回覆:97
積分:76
註冊:2006-09-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-12-08 21:39:36 IP:211.74.xxx.xxx 訂閱
cd1.Locate('欄位名', 搜索值, []) 
當搜索值裡面有 ' 時,程式會有錯誤訊息
Unterminated string constant
該如何改才能讓程式可以執行呢??
------
OS : Win 7 pro
Program : Delphi 7
DataBase : Ms Sql 2008
附加檔案:493d2398391da_error.jpg
darnell
版主


發表:25
回覆:103
積分:145
註冊:2003-03-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-12-09 18:38:42 IP:60.250.xxx.xxx 訂閱
因為原始碼有點Bug,因此要去修正Vcl Source code
DBClient.pas中的
function TCustomClientDataSet.LocateRecord(.....
找到
case TField(Fields[i]).DataType of
ftString, ftFixedChar, ftWideString, ftGUID:
if (i = Fields.Count - 1) and (loPartialKey in Options) then
將藍色字
ValStr := Format('''%s*''',[VarToStr(Value)]) else
ValStr := Format('''%s''',[VarToStr(Value)]);

替換成
ValStr := QuotedStr(VarToStr(Value) '*') else
ValStr := QuotedStr(VarToStr(Value));


並將專案的搜尋路徑加上$(delphi)\source\vcl
就可以生效修正完畢~
jackiemi2_seed
中階會員


發表:37
回覆:97
積分:76
註冊:2006-09-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-12-10 10:07:58 IP:61.218.xxx.xxx 訂閱
感謝darnell 版主的幫忙,問題解決了
thanks
------
OS : Win 7 pro
Program : Delphi 7
DataBase : Ms Sql 2008
系統時間:2024-04-27 10:24:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!