Browse Source

* Complement to fix of case insensitive comparison in Locate/Lookup: handles partial key

git-svn-id: trunk@13426 -
blikblum 16 years ago
parent
commit
13c881c9ea
1 changed files with 8 additions and 1 deletions
  1. 8 1
      packages/fcl-db/src/sqlite/customsqliteds.pas

+ 8 - 1
packages/fcl-db/src/sqlite/customsqliteds.pas

@@ -977,9 +977,16 @@ type
   end;
 
 function CompInsensitivePartial(Value: PChar; const Key: String): Boolean;
+var
+  AnsiKey, AnsiValue: AnsiString;
 begin
+  //see comments of CompInsensitive and CompInsensitiveWild functions
   if Value <> nil then
-    Result := StrLIComp(Value, PChar(Key), Length(Key)) = 0
+  begin
+    AnsiKey := UTF8Decode(Key);
+    AnsiValue := UTF8Decode(Value);
+    Result := AnsiStrLIComp(PChar(AnsiValue), PChar(AnsiKey), Length(AnsiKey)) = 0;
+  end
   else
     Result := False;
 end;