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

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
Solo
Сообщения: 108
Зарегистрирован: 18 апр 2005, 04:05

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

Сообщение Solo » 02 мар 2006, 03:38

Integer, стринг там, или дата? На Дельфи?

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

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

GByte
Сообщения: 29
Зарегистрирован: 19 янв 2006, 11:31

Сообщение GByte » 02 мар 2006, 07:26

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

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')
   )
;

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

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

Сообщение Dimitry Sibiryakov » 02 мар 2006, 09:15

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

Ответить