UniDAC TLiteUtils.RegisterCollation
Добавлено: Сб 03 июн 2017 09:15
Господа, поделитесь, пожалуйста, примером использования TLiteUtils.RegisterCollation. У меня не работает сортировка по строковому полю в юникодной базе
Discussion forums for open issues and questions concerning database tools, data access components and developer tools from Devart
https://forums.devart.com/ru/
Код: Выделить всё
function collation_callback(const Str1, Str2: string): Integer;
var
wstr1, wstr2: WideString;
begin
wstr1 := WideUpperCase(Str1);
wstr2 := WideUpperCase(Str2);
if wstr1 > wstr2 then
Result := 1
else if wstr1 < wstr2 then
Result := -1
else
Result := 0;
end;
Код: Выделить всё
TLiteUtils.RegisterCollation(UniConnection1, 'SYSTEMNOCASE', collation_callback);
Код: Выделить всё
CREATE TABLE [t_unicode](
[f_id] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE,
[f_text] varchar2(50));
select * from t_unicode
order by f_text COLLATE SYSTEMNOCASE desc