Как дождаться выполнения запроса

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
namomelkor
Сообщения: 227
Зарегистрирован: 31 авг 2006, 13:11

12 мар 2007, 13:30

делаю так
ADOQuery13.Active:=false;
ADOQuery13.Parameters.Items[0].Value:=adotable1.FieldByName('dir').AsString;
ADOQuery13.Active:=true;
if ADOQuery13.Fields[0].AsInteger>1 then
и т.д.

так вот иногда запрос не успевает выполниться и в проверке условия выдает старые значения.

сам запрос select count(id_file) from filet where dir=df

df - параметр
Аватара пользователя
SergeyS
Сообщения: 193
Зарегистрирован: 21 ноя 2006, 17:12
Откуда: Хакасия, Абакан
Контактная информация:

13 мар 2007, 16:13

запрос гарантированно успевает выполниться (ты же его не в отдельном потоке запускаешь).
Попробуй параметр взять в кавычки:

Код: Выделить всё

select count(id_file) from filet where dir='df'
если это конечно строка...
namomelkor
Сообщения: 227
Зарегистрирован: 31 авг 2006, 13:11

13 мар 2007, 17:49

как видно из
ADOQuery13.Parameters.Items[0].Value:=adotable1.FieldByName('dir').AsString;
+
select count(id_file) from filet where dir=df

Df - это параметр
Аватара пользователя
Игорь Акопян
Сообщения: 1419
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

14 мар 2007, 08:50

namomelkor, согласен с SergeyS, должен выполниться.
Средствами БД запрос выполнял? Параметр точно присваивается?
Изображение
namomelkor
Сообщения: 227
Зарегистрирован: 31 авг 2006, 13:11

14 мар 2007, 11:42

Мда ошибка была в другом. Раньше я таблицу и запрос подключал отдельно. Щас поставин через АДОконекшен начало работать правильно.
Ответить