AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Existenzprüfung von Tabellen.. bizzl komplizierter.
Thema durchsuchen
Ansicht
Themen-Optionen

Existenzprüfung von Tabellen.. bizzl komplizierter.

Ein Thema von plautzer · begonnen am 3. Sep 2004 · letzter Beitrag vom 18. Sep 2004
 
plautzer

Registriert seit: 23. Aug 2003
172 Beiträge
 
#1

Existenzprüfung von Tabellen.. bizzl komplizierter.

  Alt 3. Sep 2004, 15:31
Hi,

ich habe 4 tabelle(Datenbanken). Tabelle1 hängt mit allen andern tabellen zusammen, also wenn die nicht existiert, dann müssen die anderen auch neu erstellt werden, egal ob sie schon existieren.

Das abfragen ist ja kein problem, ich habe nur ein problem bei wenn die anderen existieren und ich die löschen und dann wieder erstellen muss.
Ich habe auch ziehmlich viel Code für die ganze sache, darum wäre es auch gut wenn ihr tipps geben könntet wie ich eine geeignete funktion dazu aufbauen könnte(hab das sowieso meine probleme.. weiß nicht sorecht wie/warum ich funktioen machen sollte).

Ich habe zur jeden tabelle eine procedure erstellen, die die Existenzprüfung macht und falls nicht gegeben, die tabelle erstellt:

Delphi-Quellcode:
procedure TFmain.Gruppe_proof;
var
  i, error_no: integer;
  query: TQuery;
  pfad,tabellen, name, ext: string;
begin

  pfad := ExtractFilePath(Application.ExeName);
  name := ExtractFileName(Application.ExeName);
  ext := ExtractFileExt(Application.ExeName);
  tabellen:=pfad + 'tabellen';

IF NOT FileExists(tabellen + '\table1.DB') THEN
        BEGIn
        if not ForceDirectories(tabellen) then
        ShowMessage('Beim Anlegen von '+Tabellen+' ist ein Fehler aufgetreten!');

  query := TQuery.Create(nil);

with query do
    begin
    DatabaseName := tabellen;
    SQL.Clear;
    SQL.Add('create table "table1.db"');
    SQL.Add('(');
    SQL.Add(' ID autoinc,');
    SQL.Add(' Gruppe char(20),');
    SQL.Add(' Name char(30),');
    SQL.Add(' Vorname char(30),');
    SQL.Add(' Strasse char(30),');
    SQL.Add(' Hausnr char(10),');
    SQL.Add(' PLZ Char(10),');
    SQL.Add(' Ort char(20),');
    SQL.Add(' Telefon char(30),');
    SQL.Add(' primary key(ID)');
    SQL.Add(')');
    SQL.Add('Drop table "table2.db"') ->> Wo sollte das stehen?
  end;
  try
    query.ExecSQL;
except
    on e: EDBEngineError do
    for i := 0 to e.ErrorCount - 1 do
    begin
      error_no := e.Errors[i].ErrorCode;
      if error_no <> 13057
      then
      begin
        MessageDlg(e.Message + #13 + 'Error no: ' + IntToStr(error_no), mtError, [mbOK], 0);
      end;
    end;
  end;
  query.Destroy;
end;
end;
Die Proceduren habe ich dann alle in das oncreate des progs gepackt. Die table2 wird aber nicht gelöscht und dann wieder erstellt.


THx,

Plautzer
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 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