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