Einzelnen Beitrag anzeigen

Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Tabelle auf existenz überprüfen mit Try, Except

  Alt 17. Jan 2006, 07:43
hier eine Methode, die funktioniert:

Delphi-Quellcode:
// testet, ob eine Tabelle schon in der DB vorhanden ist
// benutzt dazu Metadata
function TDbTable.ExistInDb (TableName : String): Boolean;
var
  TableFound: Boolean;
  ZSQLMetadata: TZSQLMetadata;
  DSSQLMetadata: TDataSource;
begin
  Result := False;
  ZSQLMetadata := TZSQLMetadata.Create (self);
  DSSQLMetadata := TDataSource.Create (self);
  ZSQLMetadata.Connection := FmyConnection;
  DSSQLMetadata.DataSet := ZSQLMetadata;

  // Spalten aus Tabelleninfo (Metadata) auslesen
  ZSQLMetadata.MetadataType := mdTables;
  ZSQLMetadata.Catalog := LowerCase (FTableDatabase);
  ZSQLMetadata.Open;
  TableFound := False;
  while not DSSQLMetadata.DataSet.Eof and (TableFound = FALSE) do
  begin
    if LowerCase (DSSQLMetadata.DataSet.FieldByName ('TABLE_NAME').Text) = LowerCase (TableName) then
    begin
      TableFound := True;
      Result := True;
    end;
    DSSQLMetadata.DataSet.Next;
  end;

  //aufräumen
  ZSQLMetadata.Free;
  DSSQLMetadata.Free;
end;
da dies nur ein Ausschnitt aus einem meiner Projekte ist, brauchst Du evtl. noch weitere Teile meines Projektes (z.B. TDbTable.Create). Falls ja, dann einfach per PN melden.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat