Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Строковые функции хранимых процедур Interbase [IB6.x]


ss300 ©   (2004-05-15 18:02:00) 

а где можно достать список сабж ?  меня в частности интересует
типа SUBSTR или Copy в дельфи

спасибо


Desdechado   (2004-05-19 18:14:00) [1]

самодельные библиотеки - осторожно, они могут легко "завалить" сервер
возьмите проверенные RFunc или FreeUDFLib на www.ibase.ru


kaif   (2004-05-16 14:35:00) [2]

Нужно посмотреть разные UDF library и подключить какие-то функции из них к конкретной базе данных, объявив их как функции.

Например, выполнить такую команду:

DECLARE EXTERNAL FUNCTION SUBSTR
CSTRING(80), SMALLINT, SMALLINT
RETURNS CSTRING(80) FREE_IT
ENTRY_POINT 'IB_UDF_substr' MODULE_NAME 'ib_udf';

Такое объявление "включает" функцию и мененм IB_UDF_substr из ib_udf.dll под именем SUBSTR в базу данных. Сама dll должна лежать в директории \udf. Загрузка dll произойдет динамически при первом же использовании функции, например в SQL-запросе.

Существуют еще dll-ы независимых производителей.

Можно и самому в Delphi написать такую dll с нужной функцией. Важно использовать соглашение вызова cdecl, в объявлении в БД (если работаешь со строками) использовать FREE_IT и в самой dll задействовать стандартный менеджер памяти IB из ib_util.dll (если нужно аллокировать память, например, для хранения строки типа PChar):

function ib_util_malloc(l: integer): pointer; cdecl; external 'ib_util.dll';


Johnmen   (2004-05-15 18:10:00) [3]

Встроенных в IB6.x нет.


Наверх

Титульная страница Поиск, карта сайта Написать письмо