|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Зависает бесконечный цикл
Собственно, сабж... Первый раз цикл отрабатывает нормально. При втором проходе зависет. Абы когда, не на одной записи в массиве
start: Код:
Form2.ADOQuery1.SQL.Clear; // удаление предыдущего текста запроса mySQL := 'UPDATE `'+team+'` SET `url` ='''+url+''' WHERE `vkid` ='''+idvk+''';'; //обновляем нашу запись Form2.ADOQuery1.SQL.Add(mySQL); // добавление нового текста запроса Form2.ADOQuery1.ExecSQL; Form2.ADOQuery1.Active := false; // отключаем запрос, если он был включен Form2.ADOQuery1.SQL.Clear; // удаление предыдущего текста запроса // новый запрос – код подставляется из поля Edit if (time>=8) and (22>=time) then begin ................... В конце цикла goto start; Не подскажете, в чем может быть проблема? Какие-то ограничения Delphi на время выполнения программы? Когда зависает - висит загрузка CPU на уровне 23-25%... Последний раз редактировалось Admin, 10.11.2017 в 19:23. |
#2
|
||||
|
||||
Зачем запрос отключаете, на момент выполнения он может не успеть обработаться и сервер вынужден давать отмену предыдущего, нужно просто содержимое чистить, последовательность действий должна быть примерно такой
Код:
... with query do begin SQL.Clear; SQL.Add( ExecSQL; SQL.Clear; SQL.Add( ... end; Код:
try ... {здесь выполнение запросов} except {При возникновении в коде любых ошибок} One: EDatabaseError do begin messageDlg(e.message, mtError, [mbOK], 0); exit; end; One: Exception do begin messageDlg(e.message, mtError, [mbOK], 0); exit; end; end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
||||
|
||||
Цитата:
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. |
#4
|
|||
|
|||
Цитата:
|
#5
|
||||
|
||||
Цитата:
2. while ... do 3. repeat ... until Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#6
|
|||
|
|||
Всем спасибо! Заработало, неправильно отрабатывали условия в цикле при определенных записях в БД и не всегда прогружался документ, синхронизация помогла
|