Страница 1 из 1

Параметры и udf

Добавлено: 16 июн 2005, 11:39
_so_
Что-то я не понял. Испольщовать пармаметры для udf нельзя?
Тогда как-то страно орет.

Код: Выделить всё

DECLARE EXTERNAL FUNCTION ASINTEGER
    INTEGER
RETURNS INTEGER BY VALUE
ENTRY_POINT 'AsInteger' MODULE_NAME 'oeudf.dll'

select * from visualagents
where ID=AsInteger(:AID)
Dynamic SQL Error.
SQL error code = -804.
Data type unknown.
Странно. Почему unknown?

Добавлено: 16 июн 2005, 15:01
hvlad
А смысл ? Передавать с клиента значение, которое заведомо будет преобразовано

Добавлено: 16 июн 2005, 15:19
_so_
Данный запрос для примеру.
Смысл что не компилировать запрос каждый раз, когда онвыполняется многократно.

Добавлено: 16 июн 2005, 16:42
kdv
Смысл что не компилировать запрос каждый раз, когда онвыполняется многократно.
да вот нету смысла. По уму надо в программе писать

ParamByName('FIELD').asInteger:=...

а не иначе, и не морочить голову ненужными преобразованиями на сервере.

Добавлено: 16 июн 2005, 17:11
_so_
Да блин, что вы как всегда обращаете внимание на простые примеры.
Например нужно искать подстроку в блобе.
select * from Table
where PosBlob(Table.FieldBlob, :SubStr ) > 0
Какя я заранее сделаю преобразовнию. Просканию файл БД что ли.

Добавлено: 16 июн 2005, 18:12
hvlad
В FB2 вот это работает

Код: Выделить всё

SELECT RDB$FIELD_NAME
  FROM RDB$RELATION_FIELDS
 WHERE F_STRPOS(RDB$FIELD_NAME, :s, 0) <> 0

Добавлено: 16 июн 2005, 20:31
kdv
where PosBlob(Table.FieldBlob, :SubStr ) > 0
Какя я заранее сделаю преобразовнию. Просканию файл БД что ли.
asString не работает? ну сформируй статический запрос вместо параметров. Экономщик - у тебя поиск внутри блоба в тыщи раз медленнее чем твоя экономия на prepare.

Добавлено: 17 июн 2005, 09:05
_so_
Ошибка возникает на Prepare. Можно искать не только в блобах но и в строках, а также могут быть другие ограничения по другим индексируемым полям. И к тому же это спорно. Если только это не embeded сервер.
Ругаться тогда нормально, что это запрещено, а не неизвестный тип.
Если в FB 2.0 рабоает, это хорошо. Но мне больше нравиться IB.
Если когда-нибудь в FB появится нормальный SS подумаю на него переходить. Это мое личное мнение.

Добавлено: 17 июн 2005, 13:32
hvlad
_so_ писал(а):Но мне больше нравиться IB.
Пиши в borland. Делай запись в QC. Лет через 5 тебе скажут, почему это плохо и как ты неправ
_so_ писал(а):Если когда-нибудь в FB появится нормальный SS подумаю на него переходить.
А никто и не просит

На вот, почитай на досуге о "нормальном" SS
http://sourceforge.net/mailarchive/foru ... um_id=6330