![]() |
|
![]() ![]() ![]() |
|
neat |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 20.12.2005 Репутация: нет Всего: нет |
Здравствуйте люди! Подскажите пожалуйста как составить запрос (Query1) с переменным числом параметров.
Значения x1, x2, ... xn берутся из запроса (Query2) по другой базе. |
|||
|
||||
Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: 1 Всего: 11 |
Смотришь на результат первого запроса.
Что нибудь типа
Так обрабатываешь каждое (не знаю твои условия) условие, получаешь сформированнную строку MySQLStr. Потом DataSet1.SelectSQL.Add('select field1 ... from table where field_id in (' + MySQLStr +')' ; |
|||
|
||||
neat |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 20.12.2005 Репутация: нет Всего: нет |
Anark1,
Примерно так я и делаю. Но мне это не совсем нравится. Дело в том, что обращение к базе происходит довольно часто, а этот вариант предполагает динамическое создание запроса каждый раз и, естественно, стирание его так же каждый раз перед этим. С точки зрения оптимальности кода неэффективно. |
|||
|
||||
Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: 1 Всего: 11 |
Извини, если у тебя каждый раз меняются параметры, то естественно что запрос будет переформировываться каждый раз.
|
|||
|
||||
neat |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 20.12.2005 Репутация: нет Всего: нет |
Интересно, а можно ли в качестве параметра поставить хранимую процедуру, возвращающую набор данных, который как раз и является набором значений для условия выборки данного запроса?
|
|||
|
||||
Anark1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 622 Регистрация: 15.12.2006 Где: RF -> Moscow Репутация: 1 Всего: 11 |
Хранимая процедура - это хранимая процедура, а вот результат её выполнения вполне.
|
|||
|
||||
Savek |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 10.4.2006 Где: Воронеж Репутация: 7 Всего: 7 |
А если так:
Не знаю правда, прокатывают в IB гетерогенные запросы или нет |
|||
|
||||
neat |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 20.12.2005 Репутация: нет Всего: нет |
Насколько я знаю нет. API IB не поддерживает гетерогенные запросы ни обычным способом, ни при помощи 2PC транзакций.Здесь про это написано |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |