Вниз
Скачать: CL | DM;

Работа с TQuery   Найти похожие ветки 

← →
AntonSh   (2004-02-13 15:09) [0]

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


← →
menart ©   (2004-02-13 15:15) [1]

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


← →
Johnmen ©   (2004-02-13 15:35) [2]

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


← →
Vlad ©   (2004-02-13 15:45) [3]


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

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


← →
Desdechado ©   (2004-02-13 17:22) [4]

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


← →
Johnmen ©   (2004-02-13 22:40) [5]

>Desdechado © (13.02.04 17:22)

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


← →
kaif ©   (2004-02-14 04:55) [6]

Да еще рекомендуется создавать экземляр, а потом все делать в блоке защищенных ресурсов 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;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.017 c
7-43920
Serguar
2003-12-19 11:19
2004.03.14
Как проверить состояние (готовность) матричного принтера


14-43876
wicked
2004-02-24 17:34
2004.03.14
Новый вирус?


1-43454
QiQ
2004-02-29 22:27
2004.03.14
Копирование программы во все папки в Windows се


3-43320
Aleksandr
2004-02-16 12:34
2004.03.14
Как с tutil32 работать в плане инициализации?


3-43293
radix
2004-02-12 09:42
2004.03.14
Firebird тормозит на Win2003 ?




   Наверх