Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.23;
Скачать: CL | DM;

Вниз

TDbf Где находится указатель записи после Dbf.delete?   Найти похожие ветки 

 
smu ©   (2003-12-26 15:07) [0]

Хочу переместить данные из одной таблицы в другую. Нужно ли переходить к новой записи после Delete?


 
Vlad ©   (2003-12-26 15:08) [1]

Не нужно. Следующая запись станет текущей


 
sniknik ©   (2003-12-26 15:12) [2]

> Следующая запись станет текущей
или предыдущая если курсор в конце таблици.


 
smu ©   (2003-12-26 15:25) [3]

После Delete записи не удаляются физически, а только помечаются на удаление. Будет ли на них попадать указатель после Next или Delete?


 
Vlad ©   (2003-12-26 15:29) [4]


> smu © (26.12.03 15:25) [3]

Указатель не попадает на помеченные как удаленные записи.
В твоем случае никаких Next делать не надо.


 
smu ©   (2003-12-26 15:33) [5]


> В твоем случае никаких Next делать не надо.

Копируются не все записи, а только удовлетворяющие некоторому условию, так что Next делать тоже приходится....


 
sniknik ©   (2003-12-26 15:36) [6]

> Будет ли на них попадать указатель после Next или Delete?
нет скорее всего. по умолчанию так (DbiSetProp не вызывал? тогда точно нет)
хотя да, у тебя же TDbf..., ищи аналог (в гриде удаленные видны? нет тогда нет).


 
paul_k ©   (2003-12-26 15:38) [7]

1.запрос
insert into table1 ()
select from table2
where (твое условие)

2.запрос
delete from table2
where (твое условие)

и нечего по записям в цикле ползать.


 
Vlad ©   (2003-12-26 15:38) [8]

while not EOF do if <условие> then delete else next;


 
smu ©   (2003-12-26 15:50) [9]


> while not EOF do if <условие> then delete else next

Так я и делал, но некоторые записи не копировались... Почему так и не понял. Сейчас все вроде бы работает.


> paul_k ©

А TDbf поддерживает SQL?


 
Vlad ©   (2003-12-26 15:53) [10]


> smu © (26.12.03 15:50) [9]
> Так я и делал, но некоторые записи не копировались... Почему
> так и не понял. Сейчас все вроде бы работает.

Значит как-то не так делал. Если бы код привел, тогда бы ясно стало.


 
paul_k ©   (2003-12-26 15:54) [11]

А вот это уже надо смотреть.
по Вашему умолчанию я был в полной уверенности что Вы пользуете BDE компоненты а там есть такая возможность.....


 
Term ©   (2003-12-26 15:55) [12]


> Так я и делал, но некоторые записи не копировались... Почему
> так и не понял. Сейчас все вроде бы работает

для верности отфильтруй, и без next обойдешся


 
smu ©   (2003-12-26 16:00) [13]

if not dmDB.dbVypiskiS.IsEmpty then
begin
dmDB.dbArchVypS.Insert;
dmDB.dbArchVypS.FieldByName("DATE").AsDateTime:=dmDB.dbVypiskiS.FieldByName("DATE").AsDateTime;
dmDB.dbArchVypS.FieldByName("TIME").AsString:=dmDB.dbVypiskiS.FieldByName("TIME").AsString;
dmDB.dbArchVypS.FieldByName("NAMORG").AsString:=dmDB.dbVypiskiS.FieldByName("NAMORG").AsString;
dmDB.dbArchVypS.FieldByName("ACCORG").AsString:=dmDB.dbVypiskiS.FieldByName("ACCORG").AsString;
dmDB.dbArchVypS.Post;
dmDB.dbVypis.First;
While not dmDB.dbVypis.Eof do
begin
if ((dmDB.dbVypis.FieldByName("DATE").AsDateTime=dmDB.dbVypiskiS.FieldByName("DATE").AsDateTime)and
(dmDB.dbVypis.FieldByName("TIME").AsString=dmDB.dbVypiskiS.FieldByName("TIME").AsString)and
(dmDB.dbVypis.FieldByName("ACCORG").AsString=dmDB.dbVypiskiS.FieldByName("ACCORG").AsString))then
begin
dmDB.dbArchVyp.Insert;
dmDB.dbArchVyp.FieldByName("DATE").AsDateTime:=dmDB.dbVypis.FieldByName("DATE").AsDateTime;
dmDB.dbArchVyp.FieldByName("TIME").AsString:=dmDB.dbVypis.FieldByName("TIME").AsString;
dmDB.dbArchVyp.FieldByName("NAMORG").AsString:=dmDB.dbVypis.FieldByName("NAMORG").AsString;
dmDB.dbArchVyp.FieldByName("NAMCON").AsString:=dmDB.dbVypis.FieldByName("NAMCON").AsString;
dmDB.dbArchVyp.FieldByName("ACCORG").AsString:=dmDB.dbVypis.FieldByName("ACCORG").AsString;
dmDB.dbArchVyp.FieldByName("ACCCON").AsString:=dmDB.dbVypis.FieldByName("ACCCON").AsString;
dmDB.dbArchVyp.Post;
dmDB.dbVypis.Delete;
end
else dmDB.dbVypis.Next;
end;
dmDB.dbVypiskiS.Delete;
end;
end
Урезанный код.... Записи почему то не всегда переносились в архивные таблицы...


 
Vlad ©   (2003-12-26 16:01) [14]


> paul_k © (26.12.03 15:54) [11]
> по Вашему умолчанию ....

Название ветки глянь :-)


 
paul_k ©   (2003-12-26 16:02) [15]

2 vlad
А слона то я и не заметил....


 
smu ©   (2003-12-26 16:02) [16]


> paul_k ©

Сабж



Страницы: 1 вся ветка

Текущий архив: 2004.01.23;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.021 c
4-72977
Thick
2003-11-17 11:18
2004.01.23
Таймер


3-72665
gandrei
2003-12-25 13:22
2004.01.23
extended stored procedures


1-72795
www85
2004-01-13 09:10
2004.01.23
Как отпечатать?


3-72675
Шурик Ш
2003-12-25 13:17
2004.01.23
Создание таблицы в TADOQuery


3-72625
Hooch
2003-12-26 09:45
2004.01.23
DisplayFormat в QuantymGrid