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

Как распознать тип параметра в запросе?

Добавлено: 02 мар 2006, 03:38
Solo
Integer, стринг там, или дата? На Дельфи?

Вопрос к тому, как ловко это делает IBExpert - узнает тип параметра в динамическом запросе и соответственно типу генерирует форму с нужными компонентами ввода - если дата, тогда поле ввода даты, если число - поле ввода числа... и т.д.

Ну, подставить нужный компонент можно как-нибудь, а как тип параметра узнать?

Добавлено: 02 мар 2006, 07:26
GByte

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

SELECT
    RDB$RELATION_FIELDS.RDB$RELATION_NAME TABLE_NAME,
    RDB$RELATION_FIELDS.RDB$FIELD_NAME FIELD_NAME,
    RDB$RELATION_FIELDS.RDB$FIELD_POSITION FIELD_POSITION,
    RDB$RELATION_FIELDS.RDB$DESCRIPTION DESCRIPTION,
    RDB$FIELDS.RDB$FIELD_LENGTH FIELD_LENGTH,
    RDB$TYPES.RDB$TYPE_NAME TYPE_NAME
FROM
    RDB$FIELDS
        INNER JOIN
    RDB$RELATION_FIELDS ON (RDB$FIELDS.RDB$FIELD_NAME = RDB$RELATION_FIELDS.RDB$FIELD_SOURCE)
        INNER JOIN
    RDB$TYPES ON (RDB$FIELDS.RDB$FIELD_TYPE = RDB$TYPES.RDB$TYPE)
WHERE 
   (
      (RDB$TYPES.RDB$FIELD_NAME = 'RDB$FIELD_TYPE')
   )
;

Re: Как распознать тип параметра в запросе?

Добавлено: 02 мар 2006, 09:15
Dimitry Sibiryakov
Solo писал(а):Integer, стринг там, или дата? На Дельфи?
Ну, подставить нужный компонент можно как-нибудь, а как тип параметра узнать?
Зависит от того что ты понимаешь под словами "На Дельфи".
Если IBX - Params[XXX].SQLType.
Если таки чистый IB API - RTFM ApiGuide на предмет isc_dsql_describe_bind().