Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi if Tabelle.exists then (https://www.delphipraxis.net/23995-if-tabelle-exists-then.html)

GUFR 13. Jun 2004 18:45


if Tabelle.exists then
 
Hallo

Der Datenbank Zugriff mache ich mit ADO auf eine Accessdatenbank. Nun habe ich zur Laufzeit eine Tabelle erstellt und möchte mit "if Tabelle.exits then" prüfen ob die Tabelle noch existiert, aber Delphi sagt Undefinierter Bezeichner "Tabelle".

Wieso, muss ich noch was definieren?

Gruss

GUFR :roll:

Neuni 13. Jun 2004 18:50

Re: if Tabelle.exists then
 
Das heißt ja wohl dass ein Objekt namens Tabelle nicht existiert! Sicher dass die Tabelle auch Tabelle heißt?

SirThornberry 13. Jun 2004 18:53

Re: if Tabelle.exists then
 
Ich denk mal dein Syntax ist da komplett falsch. Du versuchst die Exist methode eines Objectes aufzurufen das es gar nicht gibt. Eventuelle heißt das ganze "Table.exist" oder du hast "exist"/"exists" falsch geschrieben oder der Syntax ist ganz anders. Bei der Googlesuche hab ich das exist bei SQL-Anweisungen nie im Zusammenhang mit prüfung auf das Existieren einer Tabelle gefunden, vielleicht gibt es eine solche Anweisung gar nicht... Was sollte deine SQL-Anweisung denn zurück geben wenn die Tabelle nicht existiert? Es wird vielleicht eine Anweisung geben mit der du prüfen kannst ob die tabelle existiert oder nicht aber bestimmt keine die dir im Erfolgsfall die Auswertung liefert und im Nicht erfolgsfall ein false (wie sollte man das sonst bei der Ausgabe handeln?!)

nieurig 14. Jun 2004 10:21

Re: if Tabelle.exists then
 
Hi GUFR

Warum sollte die Tabelle nicht mehr existieren?
Ich habe das Exist im SQL schon mal (OH vom SQLServer) gesehen, kann mich aber an die Syntax nicht mehr erinnern.

Ich würde die Existenz der Tabelle wie folgt prüfen

Delphi-Quellcode:
try
  ADOQuery.SQL.Add('Select * from Tabelle');
  ADOQuery.open();
  // Code für den Fall, das die Tabelle nicht mehr da ist

except
  // Code für den Fall, das die Tabelle nicht mehr da ist

end;
Viel Erfolg
Niels

Ach ja, in Access kann man ja auch einfach nachsehen.

shmia 14. Jun 2004 10:28

Re: if Tabelle.exists then
 
Zitat:

Zitat von nieurig
Ich würde die Existenz der Tabelle wie folgt prüfen
Delphi-Quellcode:
try
  ADOQuery.SQL.Add('Select * from Tabelle');
  ADOQuery.open();
  // Code für den Fall, das die Tabelle nicht mehr da ist
except
  // Code für den Fall, das die Tabelle nicht mehr da ist
end;

Delphi-Quellcode:
try
  // wir wollen keine Daten abrufen, sondern nur prüfen, ob es die Tabelle gibt
  // deshalb eine WHERE-Bedingung, die garantiert keine Daten liefert
  ADOQuery.SQL.Text := 'Select * from Tabelle WHERE 0=1';

nieurig 14. Jun 2004 10:51

Re: if Tabelle.exists then
 
Hi Shmia

Recht hast Du ! :oops:
Mein "unbedachtes" SQL-Statement würde die Datenbank (Access ist langsam) unnötig beschäftigen.

Niels

ibp 14. Jun 2004 11:48

Re: if Tabelle.exists then
 
hallo, schau mal nach:

session.GetTableNames('meinedb','',false,false,tLi st)

in tlist typ tstringlist stehen bei mir ale tabellen drin ...

gruß rené

Gollum 14. Jun 2004 12:31

Re: if Tabelle.exists then
 
Hallo,

siehe auch unter Delphi-Forum


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:29 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