UniDAC TLiteUtils.RegisterCollation
UniDAC TLiteUtils.RegisterCollation
Господа, поделитесь, пожалуйста, примером использования TLiteUtils.RegisterCollation. У меня не работает сортировка по строковому полю в юникодной базе
Re: UniDAC TLiteUtils.RegisterCollation
Добрый день,
ниже приведен код для сортировки по Unicode полю
метод сортировки:
регистрация:
SQL:
ниже приведен код для сортировки по Unicode полю
метод сортировки:
Код: Выделить всё
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
Re: UniDAC TLiteUtils.RegisterCollation
Большое спасибо. Все заработало
Re: UniDAC TLiteUtils.RegisterCollation
Пожалуйста, обращайтесь, если у Вас возникнут какие-либо вопросы.