Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Tabelle mit Datum versehen und vorherige Tabelle löschen (https://www.delphipraxis.net/174050-tabelle-mit-datum-versehen-und-vorherige-tabelle-loeschen.html)

fl63 30. Mär 2013 20:27

Datenbank: firebird • Version: 2 • Zugriff über: Interbase

Tabelle mit Datum versehen und vorherige Tabelle löschen
 
Hallo!

Mit dieser Prozedur
Delphi-Quellcode:
procedure TForm2.Create1Click(Sender: TObject);
begin
IBDatabase1.DatabaseName := 'c:\db\raetsel.fdb';
  with IBQuery1 do
   begin
      Active:=False;
      sql.Clear;
      sql.Text := 'DROP TABLE tabelle'+ Edit2.Text ;
      Active:=true;
      IBTransaction1.Commit;
      sql.clear;
      Active:=false;
      sql.text := 'CREATE TABLE tabelle'+ Edit2.Text +'(Feld001 varchar(50) collate de_de, Feld002 varchar(250) collate de_de)';
      Active:=true;
      IBTransaction1.Commit;
   end;
ibdatabase1.Close;
end;
erstelle ich eine Tabelle mit einem Namen aus der EditBox und lösche vorher die Vorgängertabelle gleichen Namens.

Jetzt meine Frage:
Mit
Delphi-Quellcode:
sql.Text := 'CREATE TABLE tabelle'+ Edit2.Text + Date +'(Feld001 varchar(50) collate de_de, Feld002 varchar(250) collate de_de)';
füge ich hoffentlich :oops: das aktuelle Datum in den Tabellennamen ein.

Und wie lösche ich die Vorgängertabelle mit einem anderen Datum?

sx2008 30. Mär 2013 20:44

AW: Tabelle mit Datum versehen und vorherige Tabelle löschen
 
Du machst da etwas grundsätzlich falsch.
Normalerweise würde man das Datum als weiteres Feld (Datentyp: DATE) mit in die Tabelle aufnehmen.
Die Struktur einer Datenbank sollte nur geändert werden (dazu gehört auch Tabellen löschen und anlegen) wenn die Anwendung neue Features benötigt.
Mit SQL ist es kein Problem Datensätze von einem bestimmten Datum oder Datumsbereich zu filtern oder veraltete Datensätze zu löschen.

Perlsau 31. Mär 2013 09:20

AW: Tabelle mit Datum versehen und vorherige Tabelle löschen
 
Ich würde den Tabellen-Namen nicht ständig ändern, sondern besser eine Log-Tabelle einführen, in der du das Löschen und Neuanlegen von Tabellen dokumentierst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 Uhr.

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