Autor Beitrag
mwi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 53

derzeit, win95 (usb version) win xp (prof) und suse 9.2
delphi 4 und 5 (prof)
BeitragVerfasst: Mo 04.07.05 09:02 
der titel beschreibt ja schon recht gut mein problem:

ich hab eine paradox datenbank, in der ich von zeit zu zeit die daten löschen muss/möchte. die struktur der db sollte natürlich erhalten beliben.

nun hab ich grad aber kein plan wie ich des anstelle. mit der delphi internen hilfe komm ich diesbezüglich irgendwie nicht zurecht. ansonsten hab ich nur den befehl table1.clearfields gefunden, weis aber nicht wie ich den richtig implementiere.
auch von einem neuorganisieren der tabelle hab ich schon was gehört, kann mir aber nichts darunter vorstellen.

ich bin also mal wieder auf eure fachkundige hilfe angewiesen. vielen dank schon mal im vorraus.
MAlsleben
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 303

W2k,WinXP
D3 - DXE3 Enterprise
BeitragVerfasst: Mo 04.07.05 09:59 
Hi,

willst Du alle Daten löschen oder die Tabelle reorganisieren(verkleinern).

Alle Daten einer Tabelle löschen geht mit table1.emptyTable

Gruß Micha

_________________
Viele Wege führen nach Rom.
mwi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 53

derzeit, win95 (usb version) win xp (prof) und suse 9.2
delphi 4 und 5 (prof)
BeitragVerfasst: Mo 04.07.05 11:13 
das mit dem table1.emptytable hört sich ja net schlecht an. in zusammenarbeit mit der hilfe hab ich jetzt folgende prozedur:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.Button2Click(Sender: TObject);
begin

 with Table1 do
begin
  Active := False;
  DatabaseName := 'Delphi_Demos';
  TableName := 'Ausgabetabelle';
  TableType := ttParadox;
  EmptyTable;
end;

end;

bekomm jetzt da aber einen laufzeitfehler, was hab ich denn falsch gemacht???

edit: hab fälschlicherweise nicht den korrekten DatabaseName eingegeben. dasproblem bleibt aber weiterhin bestehen...
mwi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 53

derzeit, win95 (usb version) win xp (prof) und suse 9.2
delphi 4 und 5 (prof)
BeitragVerfasst: Mo 04.07.05 13:34 
ok, hab das jetzt noch mal mit dem table1.empty table ausprobiert und festgestellt, dass das leider nicht genau das ist was ich suche.

wie gesagt die struktur der tabelle soll erhalten bleiben (sprich die spalten) nur der inhalt dieser soll gelöscht werden.
MAlsleben
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 303

W2k,WinXP
D3 - DXE3 Enterprise
BeitragVerfasst: Mo 04.07.05 14:26 
Hi,


emptytablle löscht nur den Inhalt der Tabelle, nicht Struktur. Also genau das, was du willst. Was sein kann, da bin ich mir jetzt nicht so sicher, daß Du bei Paradox die Tabelle exclusiv öffnen mußt.

Gruß Micha.

_________________
Viele Wege führen nach Rom.
mwi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 53

derzeit, win95 (usb version) win xp (prof) und suse 9.2
delphi 4 und 5 (prof)
BeitragVerfasst: Mo 04.07.05 14:29 
user profile iconMAlsleben hat folgendes geschrieben:
Hi,


emptytablle löscht nur den Inhalt der Tabelle, nicht Struktur. Also genau das, was du willst. Was sein kann, da bin ich mir jetzt nicht so sicher, daß Du bei Paradox die Tabelle exclusiv öffnen mußt.

Gruß Micha.


hmm, genau das war bei mir nicht so. nach dem der befehl ausgeführt wurde, hatte ich noch genau eine spalte...

im übrigen was meinst du mit exclusiv öffnen (bin halt nur ein noob)
j-a-n@gmx.de
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 84


Delphi 7
BeitragVerfasst: Mo 04.07.05 18:55 
Hmm..
hast Du es schon mal über den althergebrachten SQL-Weg probiert??

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure machTabelleLeer(tabellenname: String)
var query: TQuery;
begin
  query := TQuery.create(nil);
  try
    query.Sql.Text := 'delete from ' + tabellenname ;
    query.ExecSQL();
  finally
    query.close();
    query.free();
  end;
end;

_________________
--
Dieses Werk ist unter einer Creative Commons 3.0 Lizenz lizenziert und darf unter Namensnennung kopiert, weitergegeben, veröffentlicht und verändert werden.