![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
использование TIBSQL [D7, XP]
Цукор5 © (2010-03-04 14:03:00)На главной форме присутствует компонент TIBSQL.
По таймеру(раз в 15 секунд), я создаю запрос и забираю данные через TIBSQL.
Возникла необходимость выполнять еще один запрос, но не по таймеру, а по некоторому событию.
Вопрос. Может случиться так, что я буду выполнять запрос и забирать данные по таймеру, а тут вдруг еще и событие сработает.Актуальны ли мои опасения ?
И по событию и по таймеру имею примерно следующее :
IBSQLTime.Close;
IBSQLTime.SQL.Clear;
IBSQLTime.SQL.Add(A);
IBSQLTime.ParamByName('DA').AsDate:=Now;
IBSQLTime.ParamByName('TI').AsTime:=Now;
IBSQLTime.ExecQuery;
далее в цикле забираю данные
Sergey13 (2010-03-04 15:29:00) [1]> [3] Цукор5 (04.03.10 15:19)
> Потому что запросы разные. В одном нет параметров. во втором их 3 и т.д.
Возможно лучше будет создать столько, сколько их реально есть. Разумеется если их разумное количество вариантов.
> Ну раз нельзя, то уже бросил.
Никто не говорил, что нельзя. Вопрос - стОит ли огород городить.
Цукор5 (2010-03-04 15:19:00) [2]2 Sergey13 © (04.03.10 14:10) [1]
> Зачем каждый раз запрос пеерписывать если он с параметрами?
Потому что запросы разные. В одном нет параметров. во втором их 3 и т.д.
> Что мешает еще один компонент бросить на форму? Экономишь?
Хотел одним обойтись. Ну раз нельзя, то уже бросил. Ну а коль еще один TIBSQL, то вопрос отпал.
Ega23 (2010-03-04 14:30:00) [3]
with IBSQLTime do
begin
SQLT.Text := A;
ParamByName('DA').AsDate:=Now;
ParamByName('TI').AsTime:=Now;
try
Open;
try
First;
while not Eof do
begin
// Забираем данные;
Next;
end;
finally
Close;
end;
except on E : Exception do
// Обрабатываем ошибку
end;
end;
Sergey13 (2010-03-04 14:10:00) [4]Если забираешь данные, то почему не ИБДатаСет?
Зачем каждый раз запрос пеерписывать если он с параметрами?
Что мешает еще один компонент бросить на форму? Экономишь?