Locate搜索值有 ' 會出錯 |
答題得分者是:darnell
|
jackiemi2_seed
中階會員 發表:37 回覆:97 積分:76 註冊:2006-09-11 發送簡訊給我 |
cd1.Locate('欄位名', 搜索值, [])
當搜索值裡面有 ' 時,程式會有錯誤訊息 Unterminated string constant 該如何改才能讓程式可以執行呢??
------
OS : Win 7 pro Program : Delphi 7 DataBase : Ms Sql 2008 |
darnell
版主 發表:25 回覆:103 積分:145 註冊:2003-03-04 發送簡訊給我 |
因為原始碼有點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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |