![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Виснет при удалении [D5, Paradox]
Telic © (2002-10-30 12:38:00)Мастера. Не пойму.
Удаляю записи из БД PARADOX 7.0 (в другой проге работает)
while not table1.eof do
begin
if table1.fieldbyname("FinRem").value<>null then
table1.delete;//Если в поле есть дата, то удалить.
end;
"FinRem" - поле типа "дата
Идаляет или не то, или вообще виснет намертво!!!
Помогите.
gek (2002-10-30 13:50:00) [1]> ЮЮ © (30.10.02 13:45)
Согласен, чуть поспешил
Johnmen (2002-10-30 13:50:00) [2]table1.first;
while not table1.eof do
begin
if table1.fieldbyname("FinRem").value<>null then
table1.delete //Если в поле есть дата, то удалить.
else table1.next;
end;
Telic (2002-10-30 13:50:00) [3]Спасибо всем большое. Ларчик-то просто открывался. Это я сам стормозил.
ЮЮ (2002-10-30 13:45:00) [4]to gek © (30.10.02 13:40) Если удачно удалим, то пропустим следующую за удалённой, не проверяя её
ЮЮ (2002-10-30 13:43:00) [5]if table1.fieldbyname("FinRem").IsNull
then table1.delete
else table1.next
gek (2002-10-30 13:40:00) [6]
while not table1.eof do
begin
if table1.fieldbyname("FinRem").value<>null then
table1.delete;//Если в поле есть дата, то удалить.
if table1.eof then break;
table1.next;
end;
stone (2002-10-30 13:40:00) [7]Я бы попробовал еше такой вариант:
table1.DisableControls;
for i := table1.RecordCount downto 1 do
begin
table1.RecNo := i;
if table1.fieldbyname("FinRem").value<>null then
table1.delete;
end
table1.EnableControls;
Telic (2002-10-30 13:38:00) [8]Table.next пробовал. Не виснет (уже лучше:-)),но ничего не удаляет.
Telic (2002-10-30 13:34:00) [9]Table.next пробовал. Без разницы.
(Кстати, в другой проге нормально работает и без Next)
Значение: 30.12.2002 и т.п(т.е. дата).
Записей 10 (пока пишется; для теста),ничего не удаляется.
Нажимаю кнопку, и ...всё, виснет.
gek (2002-10-30 13:34:00) [10]> Johnmen © (30.10.02 13:31)
Нет, ну а если условие
if table1.fieldbyname("FinRem").value<>null then
никогда не будет выполнено, тогда повиснет
Johnmen (2002-10-30 13:31:00) [11]>Darts (30.10.02 13:23)
>NDeu © (30.10.02 13:28)
Вы чего, ребята ?! Он же удаляет в цикле !
NDeu (2002-10-30 13:28:00) [12]table1.next
Johnmen (2002-10-30 13:27:00) [13]На каком шаге удаления виснет, каково значение "FinRem" удаляемой записи, сколько записей в НД изначально и сколько перед висом, сообщение об ошибке, ну и т.д. и т.п.
Darts (2002-10-30 13:23:00) [14]Table1.next, скорее всего, пропустил => вечный цикл
Telic (2002-10-30 13:12:00) [15]Какие подробности интересуют?
Johnmen (2002-10-30 13:06:00) [16]Ничего криминального в коде нет...
Необходимы подробности. И попробуй оттрассировать...
Telic (2002-10-30 12:46:00) [17]АААААА---УУУУУУУУ. Мастера-ааааа-аааа