Форум: "Базы";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];
ВнизРабота с 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 вся ветка
Форум: "Базы";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c