![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ошибка при активации TQuery
чайник © (2003-11-06 10:22:00)
Уважаемые мастера помогите чайнику, бьюсь 2 день. У меня в проекте на первой форме выводится диалог с именем пользователя и пароля и компонент TDataBase.
AliasName:=MSSQL;
Connected:=true;
DatabaseName:=lising;
Exclusive:=false;
HandleShared:=true;
KeepConnection:=false;
Loginprompt:=false;
по кнопочке OK анализирую соединение через try...except.При удачном соединении загружаю основное меню.На этой форме у меня несколько Query и DataSource. в событии FormCreate запускаю Query.execsql и делаю Query.Active:=true; в uses второй формы прописан модуль первой формы. Выдается сообщение, что не может совершить операцию по открытию базы. В чем дело, спасибо.
Vlad (2003-11-06 10:45:00) [21]
> чайник (06.11.03 10:43) [12]
Ты можешь нормально код своей программы привести, а именно ту процедуру, в которой происходит ошибка ?
bushmen (2003-11-06 10:44:00) [22]
В FormCreate это работать не будет - в момент создания формы компоненты ещё не созданы. Перенеси это в FormActivate
чайник (2003-11-06 10:43:00) [23]
что странного, что не открывается..
Жук (2003-11-06 10:40:00) [24]
Странно всё это...
чайник (2003-11-06 10:38:00) [25]
запрос вообще простой
select kod,name from klient
я затем строки из Query пытаюсь заносить в combobox для выбора клиента вот таким образом.
Q_kl.Active:=True;
with D_kl.DataSet do begin
D_kl.DataSet.First;
while not D_kl.DataSet.Eof do begin
ComboBox1.Items.Add(D_kl.DataSet.FieldValues["name"]);
D_kl.DataSet.Next;
end;
end;
Term (2003-11-06 10:33:00) [26]
ну тогда хоть приведи текст запроса
Плохиш_ (2003-11-06 10:32:00) [27]
Предлагаю ветку в потрепаться:
Кода нет, текста ощибки нет, телепаты в отпуске.
чайник (2003-11-06 10:30:00) [28]
запрос естественно написан, если просто делаю execsql ошибки нет. но стоит изменить свойство Active ошибка и вылетает в тексте запроса стоит select. может не передаются параметры базы. Когда на офрме делаешь Active:=true, то все нормально.
Vlad (2003-11-06 10:29:00) [29]
> в событии FormCreate запускаю Query.execsql и делаю
Ты уверен что в момент FormCreate экземпляр Query уже создан ?
bushmen (2003-11-06 10:27:00) [30]
>запускаю Query.execsql и делаю Query.Active:=true;
Query.execsql применяется для запросов, которые не возвращают НД, так что Query.Active:= true - будет ругаться
stone (2003-11-06 10:25:00) [31]
> запускаю Query.execsql и делаю Query.Active:=true;
Query.execsql - только для выполнения команд (insert, update, delete ...)
Query.Active:=true; - для получения набора данных (SQL = select * ...)
и то и другое вместе не допустимо
DenK_vrtz (2003-11-06 10:25:00) [32]
запускаю Query.execsql и делаю Query.Active:=true
а зачем и то и то делать?
Плохиш_ (2003-11-06 10:25:00) [33]
Как всегда ошибка в 17й строке
vovchik (2003-11-06 10:24:00) [34]
Надеюсь что прежде чем запустить Query.execsql ты запрос то написал, а то вроде как из текста не понятно сам запрос есть или нет