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

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

Работа с TQuery


AntonSh ©   (2004-02-13 15:09:00) 

Есть такой код :
var
a: string;
vQ: TQuery;
b: integer;
begin
a:= "Select * from ...";
vQ.Clear;
vQ.Add(a);
vQ.Open;
...
...
end;
Могу ли я после этого сразу использовать выражение типа
b := vQ.FieldByName("...").AsInteger;
или нужно сделать ExecSQL


kaif   (2004-02-14 04:55:00) [1]

Да еще рекомендуется создавать экземляр, а потом все делать в блоке защищенных ресурсов try-finally-end:

vQ := TQuery.Create(nil);
try
...
finally
vQ.Free;
end;

Дело в том, что существуют ситуации, когда при открытии запроса происходит ошибка (например, недоступен сервер). И вообще это хороший стиль.

Я обычно использую конструкции с with. Например:

with TIBQuery.Create(nil) do
try
Transaction := ...
SQL.Text := ...
Open;
... = FieldByName("...").AsInteger;
finally
Free;
end;


Johnmen   (2004-02-13 22:40:00) [2]

>Desdechado © (13.02.04 17:22)

Забыл после создания - определить свойства...:)


Desdechado   (2004-02-13 17:22:00) [3]

сначала надо создать
vQ:=TQuery.Create( Application );
потом использовать (Open и есть открытие результата запроса SELECT)
в конце не забудь сделать vQ.Close; vQ.Free;


Vlad   (2004-02-13 15:45:00) [4]


> menart © (13.02.04 15:15) [1]
> Ты открыл уже! > vQ.Open;
> это и есть ExecSQL

Это не есть ExecSQL.
В данной конструкции ExecSQL не нужен.


Johnmen   (2004-02-13 15:35:00) [5]

А где создание объекта vQ ???????????????7


menart   (2004-02-13 15:15:00) [6]

Ты открыл уже! > vQ.Open;
это и есть ExecSQL


Наверх

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