Идёт загрузка страницы...

htp://aptem.net.ru





Восстановление записи dBase

После удаления записи из таблицы (dBase), возможно ли ее восстановить? Какие идеи?


   
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;

Могли бы вы дать пример использования функции?

Предположим, у вас на форме имеется кнопка (с именем 'butRecall'), восстанавливающая текущую отображаемую (или позиционируемую курсором) запись, данный код, будучи расположенный в обработчике события кнопки OnClick (вместе с опубликованным выше кодом), это демонстрирует (продвигаясь в наших предположених дальше, имя вашего объекта TTable - Table1 и имя текущей формы - Form1):


   
procedure TForm1.butRecallClick(Sender : TObject);
begin
if dbRecall( Table1 ) <> DBIERR_NONE then
ShowMessage( 'Не могу восстановить запись!' );
end;

- Loren Scott [000815]