![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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+""";