Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datensätze wiederherstellen? (https://www.delphipraxis.net/26169-datensaetze-wiederherstellen.html)

Mitchl55 19. Jul 2004 16:40


Datensätze wiederherstellen?
 
Hallo,

habe eine Datenbank in der die Datensätze gelöscht wurden!
Die Datensätze sind aber mit einem Editor noch sichtbar und
die Dateigröße ist logischerweise auch noch vorhanden.

Kann ich diese irgenwie wiederherstellen???

Gruß

Mitchl

Luckie 19. Jul 2004 16:44

Re: Datensätze wiederherstellen?
 
Schön wäre es, wenn wir wüßten um was für eine DB es sich handelt. ;)

Wenn sie die DB nur als gelöscht markiert hat, sollte es kein Problem sein diese Markierung wieder aufzuheben.

Mitchl55 19. Jul 2004 16:46

Re: Datensätze wiederherstellen?
 
Besten Dank...

das habe ich total vergessen...

es ist eine Paradox *.DB Datenbank...

habe schon verschiedene Tools ausprobiert, doch die meisten sind zum reparieren...


Danke & Gruß

Mitchl

Jens Schumann 19. Jul 2004 16:51

Re: Datensätze wiederherstellen?
 
Hallo,
es ist so wie Luckie es geschrieben hat. Gelöschte Datensätze werden "nur" als gelöscht markiert.
Um eine Paradox-Tabelle zu packen verwendet man DbiDoRestructure. Musst mal in der OH suchen oder googeln

Mitchl55 19. Jul 2004 16:53

Re: Datensätze wiederherstellen?
 
Auch in DB Dateien?

Dachte immer die können nur in DBF als gelöscht markiert werden.

Was bedeutet OH? Bin nicht so fit!?

Danke

Luckie 19. Jul 2004 16:54

Re: Datensätze wiederherstellen?
 
Ich kenne michmit DB's nicht aus, aber ich würde sagen, beim Packen, werden die als gelöscht markierten Datensätze gelöscht, aber genau das will er ja gerade nicht.

Jens Schumann 19. Jul 2004 17:05

Re: Datensätze wiederherstellen?
 
Zitat:

Zitat von Luckie
Ich kenne michmit DB's nicht aus, aber ich würde sagen, beim Packen, werden die als gelöscht markierten Datensätze gelöscht, aber genau das will er ja gerade nicht.

Stimmt. Habe ich mich verlesen - Entschuldigung.

phXql 19. Jul 2004 17:05

Re: Datensätze wiederherstellen?
 
jep, packen gibt den als frei gekennzeichneten platz wieder frei und macht so die db kleiner. das auf KEINEN fall machen ;) ...

Mitchl55 19. Jul 2004 17:21

Re: Datensätze wiederherstellen?
 
Also, geht nicht!?

Was kann man den dann machen ?

Luckie 19. Jul 2004 17:30

Re: Datensätze wiederherstellen?
 
Das geht bestimmt.

Na bitte, da haben wir doch schon mal einen Ansatz: http://www.swissdelphicenter.com/de/showcode.php?id=36 Und wenn man sie sehen kann, dann muss man auch drauzugreifen können zum Wiedereintragen.

Und so geht es mit dBase: http://www.swissdelphicenter.com/de/showcode.php?id=234

Mitchl55 19. Jul 2004 17:35

Re: Datensätze wiederherstellen?
 
So eingebunden ist wohl falsch oder?

bei der Aktuellen TABLE1 und druck auf den Butten1

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, DBTables, Grids, DBGrids;

type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Table1: TTable;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

procedure DeletedRecords(Table: TTable; SioNo: Boolean);
begin
  Table.DisableControls;
  try
    Check(DbiSetProp(hDBIObj(Table.Handle), curSOFTDELETEON, Longint(SioNo)));
  finally
    Table.EnableControls;
  end;
  Table.Refresh;
end;

end;

end.
ich bin zu DUMM.....

Luckie 19. Jul 2004 17:42

Re: Datensätze wiederherstellen?
 
Äh, solltest du nicht mit etwas weniger kompexen anfangen, wenn du daran schon scheiterst?

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, DBTables, Grids, DBGrids;

type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Table1: TTable;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations } 
  public
    { Public declarations } 
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm} 

procedure DeletedRecords(Table: TTable; SioNo: Boolean);
begin
  Table.DisableControls;
  try
    Check(DbiSetProp(hDBIObj(Table.Handle), curSOFTDELETEON, Longint(SioNo)));
  finally
    Table.EnableControls;
  end;
  Table.Refresh;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  DeletedRecords(Table1, True);
end;

end.
aber wie gesagt, ich bin hier kein Experte und habe eigentlich nur mit Google gesucht, was du auch hättest tun können.

Ultimator 19. Jul 2004 17:44

Re: Datensätze wiederherstellen?
 
Zitat:

Was bedeutet OH? Bin nicht so fit!?
OH heißt Online-Hilfe (Tipp: Lass einfach mal den Mauszeiger auf grün-gestrichelt-unterstrichenen Wörtern stehen ;-) )

Matze 19. Jul 2004 17:47

Re: Datensätze wiederherstellen?
 
Wenn wir schon dabei sind:

Der Name Online Hilfe ist etwas verwirrend, ich dachte anfangs, es wäre irgendeine Hilfe im Internet. :roll:

Zu erreichen ist die OH und Delphi per Klick auf F1. ;)

Edit: :wall: Das Akronym ist besser als ich dachte, ich dachte erst, dort steht nur "Online Hilfe".

Mitchl55 19. Jul 2004 17:51

Re: Datensätze wiederherstellen?
 
Ich bin auch kein experte! Du weißt aber ehr wonach du suchen muss! Bei mir geht das alles ins leere!

Wo bekomme ich den die "DbiSetProp" her?

Matze 19. Jul 2004 17:59

Re: Datensätze wiederherstellen?
 
Hier hab ich vielleicht was für dich:

http://www.delphi-fundgrube.de/faq02.htm

Mitchl55 19. Jul 2004 18:40

Re: Datensätze wiederherstellen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Klappt nicht....


hier mal eine Datei zum testen...

Ultimator 19. Jul 2004 18:42

Re: Datensätze wiederherstellen?
 
Wo?

[edit] Ich sollte nicht immer so ungeduldig sein :-) [/edit]

Luckie 19. Jul 2004 18:46

Re: Datensätze wiederherstellen?
 
Zitat:

Zitat von Mitchl55
Klappt nicht....

Ich liebe immer so präzise fehlerbeschreibungen. :roll:

Mitchl55 19. Jul 2004 18:48

Re: Datensätze wiederherstellen?
 
mit wird gesagt "capacility not supported" und die daten werden nicht wieder hergestellt!

Mitchl55 5. Feb 2006 00:19

Re: Datensätze wiederherstellen?
 
Hallo,

wer kann mir denn dazu etwas sagen??

http://www.entwickler-forum.de/webx?...fgs.0@.ee6d3ff

Ich meine es gibt ja in der Paradox Datenbank noch Datensätze die nicht gelöscht worden sind! Ich möchte ja nur die gelöschten Datensätze wiederherstellen. Denke an diese Stelle bin ich auch ein kompletter Laie. Hoffe mal irgendwer hat mehr Ahnung?

Need Help

Danke & Gruß

Mitchl

Mitchl55 5. Feb 2006 10:33

Re: Datensätze wiederherstellen?
 
Hallo...

Hab die ganze Zeit weiterprogrammiert und über ein eigenes Restoretool nachgedacht!
Die alten Inhalte sind, wenn ich sie Byteweise einlese, in einem Memo-Fenster o. Windows Editor
noch sichtbar! Das heißt ich könnte ja, wenn ich die Structure der Tabelle auslese, die
noch vorhanden Datensätze wieder in diese Tabelle schreiben/einlesen!

Weiß jemand, ob es da Probleme geben könnte oder gibt es solche Tools??

Danke & Gruß

Mitchl


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz