Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Удалённые строки в DBF


Автор: alcogol 11.4.2008, 08:09
Добрый день всем. Есть такая тема: открываю базу DBF в DBgrid вижу её строки. В этой БД строки не удаляются, а помечаются как удалённые. Как мне:

1. Отобразить. Хотя этут проблему я уже вроде решил


2. Как-то выделить эти строки, чтобы я знал какие из них удалённые, какие нет. 

Автор: Rodman 11.4.2008, 08:27
Цитата(alcogol @  11.4.2008,  07:09 Найти цитируемый пост)
В этой БД строки не удаляются, а помечаются как удалённые
чем это выражено?

Автор: Esperito 11.4.2008, 18:59
Код

DbiGetRecord(Handle, dbiNoLock, Buffer, @RP);
if RP.bDeleteFlag then

Ы?

Автор: Данкинг 11.4.2008, 23:01
Если через ADO подключаешься, то помеченные на удаление строки вообще не отображаются. Отсюда вывод: с базами DBF надо работать на Фоксе, а не на Дельфи! smile 

Автор: alcogol 13.4.2008, 10:21
Цитата(Esperito @ 11.4.2008,  18:59)
Код

DbiGetRecord(Handle, dbiNoLock, Buffer, @RP);
if RP.bDeleteFlag then

Ы?

Угу smile спс

Автор: alcogol 13.4.2008, 12:46
Вот ещё вопрос по теме, нашёл я эти записи, вижу в DBGrid...   Мне надо сделать так, чтобы запись помеченая как удалённая снова стала обычной записью. Чёт ничего не могу найти

Автор: alcogol 13.4.2008, 16:02
function GetTableCursor(oTable: TTable): hDBICur;
var
  szTable: array[0..78] of Char;
begin
  StrPCopy(szTable, oTable.TableName);
  DbiGetCursorForTable(oTable.DBHandle, szTable, nil, Result);
end;

function dbRecall(oTable: TTable): DBIResult;
begin
  Result := DbiUndeleteRecord(GetTableCursor(oTable)));
end;


  не помогает решить проблему. что-то не то. хотя пару раз удавалось восстановить. ноя  не понял что тогда было, все остальные попытки тщетны. в чём прокол?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)