Форум: "Базы";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];
ВнизКак искать по русски в Blob без учета регистра? Найти похожие ветки
← →
Piter © (2004-06-29 20:53) [0]Может, есть какой-нибудь способ?
База Firebird Embedded
← →
Johnmen © (2004-06-29 23:35) [1]Есть. Написать свою или использовать существующую UDF.
← →
Piter © (2004-06-29 23:38) [2]Johnmen (29.06.04 23:35) [1]
а можно ссылку на существующий UDF и как с ним работать? А то я про UDF слышал, но никогда с ним не работал. Или подробнее где-нибудь почитать на эту тему?
← →
Johnmen © (2004-06-29 23:55) [3]>Piter © (29.06.04 23:38) [2]
Ищи в инете библиотеки УДФ для ИБ. Я пользую RFUNC.
Ну и как обычно на ibase.ru :)
← →
Piter © (2004-06-30 00:41) [4]Johnmen (29.06.04 23:55) [3]
А не мог бы ты посоветовать какую-нибудь библиотеку, которая только и делает, что в UDF ищет?
Ну чтобы не увеличивать размер программы без надобности...
← →
Piter © (2004-07-01 23:20) [5]Johnmen (29.06.04 23:55) [3]
?
← →
Piter © (2004-07-05 15:20) [6]Ау
← →
Johnmen © (2004-07-05 15:51) [7]Да здесь я...:)
Что такое UDF уже знаешь ?
← →
Vlad © (2004-07-05 16:12) [8]
> Piter © (30.06.04 00:41) [4]
> А не мог бы ты посоветовать какую-нибудь библиотеку, которая
> только и делает, что в UDF ищет?
UDF это есть функция библиотеки, которая подключается к базе, и может использоваться в SQL выражениях
← →
Piter © (2004-07-06 18:55) [9]Vlad (05.07.04 16:12) [8]
> А не мог бы ты посоветовать какую-нибудь библиотеку, которая
> только и делает, что в UDF ищет?
блин, я хотел сказать
"которая только и делает, что в базе ищет"
← →
Piter © (2004-07-09 11:38) [10]Народец! Ну помогите...
← →
Johnmen © (2004-07-09 11:41) [11]>Piter © (09.07.04 11:38) [10]
>Народец! Ну помогите...
Типа мелкий что ли ? :)))
Чем же тебе помочь ? Про UDF уже сказали.
Что конкретно не получается ?
← →
Piter © (2004-07-13 01:38) [12]Johnmen © (09.07.04 11:41) [11]
непонятно какую UDF библиотеку взять. Нужна библиотека, которая только и делает как ищет русский текст в Блобах без учета регистра. А желательно, чтобы она еще и в Varchar искала без учета регистра, если даже у поля не выставлен CHARSET
← →
jack128 © (2004-07-13 02:07) [13]проще самому написать... Заодно практика неплохая..
← →
Piter © (2004-07-13 17:04) [14]jack128 © (13.07.04 2:07) [13]
проще самому написать
мне не проще :(
← →
jack128 © (2004-07-13 18:03) [15]ну что я те могу сказать. Плохо. Плохо не то, что ты не можешь написать, а то что ты не пытаешся это сделать. На ibase как всегда все расписано...
лично я никогда не использовал udf в своих приложениях, но такие вещи, коли ты работашь с IB знать нужно в обязательном порядке..
← →
Piter © (2004-07-19 15:48) [16]>Нужна библиотека, которая только и делает как ищет >русский текст в Блобах без учета регистра
← →
Piter © (2004-07-19 17:25) [17]Johnmen © (29.06.04 23:55) [3]
а как в BLOB с помощью RFUNC искать? Не понимаю... вроде там в описании ничего такого нету...
← →
Johnmen © (2004-07-19 17:33) [18]>Piter © (19.07.04 17:25) [17]
Ну прямо так, как хочешь, нету. Но есть функции работы с блобами.
Их можно задействовать, можно посмотреть реализацию...
← →
jack128 © (2004-07-19 18:01) [19]не хочешь учиться - не надо. У нас же меньше конкурентов будет при поиске работы.
что нить типа этого (не тестил)type
THandle = Cardinal;
Tblob_get_segment = function(Blob_handle : THandle;
Buffer : Pointer;
Buffer_size : Longint;
var ActualBytes : Longint) : Longint;cdecl;
Tblob_put_segment = function(Blob_handle : THandle;
Buffer : Pointer;
Buffer_size : Longint) : Longint;cdecl;
PBlob = ^TBlob;
TBlob = record
blob_get_segment : Tblob_get_segment;
blob_handle : THandle;
number_segments : longint ;
max_seglen : longint ;
total_size : longint ;
blob_put_segment : Tblob_put_segment ;
end;
function PosStrInBlob(blob : PBlob; s: PChar;
CaseInsensitive: PInteger) : integer; cdecl;export;
var
ActualBytes : integer;
Buffer : string;
begin
SetLength(Buffer, blob^.max_seglen);
blob.blob_get_segment(blob^.blob_handle,PChar(Buffer),
blob^.max_seglen,ActualBytes);
if ActualBytes <> blob^.max_seglen then
Result := -1
else
if CaseInsensitive^ = 0 then
Result := Pos(s, Buffer)
else
Result := Pos(UpperCase(s), UpperCase(Buffer));
end;
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.033 c