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

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

TQuery в Runtime [D6, IB5.x, IB6.x, ]


dymka ©   (2002-01-09 14:01:00) 

Вопрос такой... на форму кидаю TQuery и записываю туда такой запрос
select * from ":alias:table"
делаю в инспекторе Active := True, выходит окошко с паролем - вводишь его и все ОК. Запрос открыт. Теперь все тоже в Runtime:

var
FQuery: TQuery;
begin
FQuery := TQuery.Create(Self);
FQuery.SQL.Text := "select * from ":alias:table"";
FQuery.Open;

вот тут и выдается ошибка - No such table or correlation name.
Типа нет такой таблицы. Почему такое возникает и как с этим бороться? Мне нужно работать с разными алиасами, поэтому указание FQuery.DatabaseName неприемлемо.
Заранее благодарен, Дмитрий Плясунов.


Delirium   (2002-01-09 16:01:00) [1]

У меня то-же D6, но я не работаю с IB - экспериментирую со стандартными базами


dymka   (2002-01-09 15:33:00) [2]

Далее, работает и если TQuery создать в режиме DesignTime, а все заполнить в Runtime! Не работает именно в когда сам компонент создаешь в рунтайме!


dymka   (2002-01-09 15:32:00) [3]

Romkin, я юзаю BDE для доступа к IB. В DesignTime же все работает прекрасно!
Delirium, какая версия Дельфи? Не работает у меня и все тут :(
Сам использую 6. Или глюк BDE?


Romkin   (2002-01-09 15:29:00) [4]

2Delirium
У тебя парадокс, по крайней мере, как основной алиас - все запросы выполняются на клиенте


Delirium   (2002-01-09 15:24:00) [5]

У меня работает и в Runtime


Romkin   (2002-01-09 15:21:00) [6]

И не поймет - это interbase, твой запрос передается серверу, и, понятно, алиасы допускать нельзя.


dymka   (2002-01-09 15:14:00) [7]

У меня тоже везде работает кроме приведенного выше примера...
Т.е. когда создаю объект в рунтайме кричит что нет такой таблицы... не понимаю почему...


Delirium   (2002-01-09 15:02:00) [8]

Ааа, понял, извини что погорячился. Но тем не менее, у меня приведённый ниже пример работает без проблем.

select * from ":dbdemos:animals",":DefaultDD:bdesdd"


dymka   (2002-01-09 14:28:00) [9]

Это не параметры а способ доступа к базе данных без указания свойства DatabaseName (для создания гетерогенных запросов (т.е. один запрос из разных баз)).
Допустим мне нужно сделать запрос из разных баз данных - так вот
BDE такую фишку поддерживает в виде указания имени таблицы в виде
":ALIASBDE:TABLENAME", но... почему то не правильно работает.


Delirium   (2002-01-09 14:15:00) [10]

ДУМАЙ! Что ты написал!
Раз обозначил параметры - им надо задать значения!
Но в товоём случае лучше присать "руками":

Al:="c:\tmp\";
Tbl:="my_table.dbf";
FQuery.SQL.Text := "select * from ""+Al+Tbl+""";


Наверх

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