Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   TurboDb neue Datenbank und Table (https://www.delphipraxis.net/160422-turbodb-neue-datenbank-und-table.html)

hanspeter 12. Mai 2011 09:24

Datenbank: TurboDB • Version: 6.1.1. • Zugriff über: Com ponent

TurboDb neue Datenbank und Table
 
Hallo,
in einem Projekt muss ich TurboDB verwenden.
Ich möchte ein neue Datenbank und darin ein Table anlegen.
Irgendwie klappt das nicht.
Hat wer einen Tip oder ein funktionierendes Stück Code?

Hier mein Versuch:

Delphi-Quellcode:
TdbDatabase.Connected := false;
  if not DirectoryExists(strgFullArchiveDBPath) then
    ForceDirectories(strgFullArchiveDBPath);
  TdbDatabase.DatabaseName  := strgFullArchiveDBPath + strgDatabaseName;
  TdbDatabase.CreateDatabase;
  TdbDatabase.Connected := True;// alternativ mit Open probiert
  TdbDatabase.Open;
  TdbCrTable.DatabaseName := strgFullArchiveDBPath + strgDatabaseName; // auch weglassen bringt nichts
  TdbCrTable.TableName := TableName;
  TdbCrTable.FieldDefs.Clear;  // Hier wahlfrei Fielddefinitionen vor oder nach Create eingefügt
  TdbCrTable.CreateTable;

omata 12. Mai 2011 09:28

AW: TurboDb neue Datenbank und Table
 
Vielleicht hilft das hier weiter.

hanspeter 12. Mai 2011 09:33

AW: TurboDb neue Datenbank und Table
 
Zitat:

Zitat von omata (Beitrag 1100342)
Vielleicht hilft das hier weiter.

Nicht wirklich.
Der Text ist von 2003 und die dort verwendete Componente gibt es nicht mehr.
Ich habe zwischenzeitlich aber eine Ursache gefunden. Pfad und Datenbankname müssen nach Location.

Ich arbeite sonst mit SQL Datenbanken. TurboDB kommt mir wie Steinzeit vor.

Gruß
Peter

omata 12. Mai 2011 09:36

AW: TurboDb neue Datenbank und Table
 
Zitat:

Zitat von hanspeter (Beitrag 1100345)
Der Text ist von 2003 und die dort verwendete Componente gibt es nicht mehr.

Oh, sorry. Aus deinen Beitrag geht aber auch nicht hervor, von welchem Typ "TdbDatabase" ist.


Zitat:

Zitat von hanspeter (Beitrag 1100345)
Ich habe zwischenzeitlich aber eine Ursache gefunden. Pfad und Datenbankname müssen nach Location.

Was ist Location? Geht die Erstellung dann?

hanspeter 12. Mai 2011 09:42

AW: TurboDb neue Datenbank und Table
 
Zitat:

Zitat von omata (Beitrag 1100347)
Was ist Location? Geht die Erstellung dann?

TdbDatabase.Location und nicht Databasename, dann geht es.
Vor Table.Create müssen Felder erzeugt sein.

Gruß
Peter

omata 12. Mai 2011 09:46

AW: TurboDb neue Datenbank und Table
 
Ah, ok.

Nur weiß ich jetzt leider immer noch nicht, welche Komponente du da verwendest.

Schade, hätte mich schon interessiert.

hanspeter 12. Mai 2011 10:14

AW: TurboDb neue Datenbank und Table
 
Zitat:

Zitat von omata (Beitrag 1100353)
Ah, ok.

Nur weiß ich jetzt leider immer noch nicht, welche Komponente du da verwendest.

Schade, hätte mich schon interessiert.

Die Componenten sind doch bei TurboDB dabei.
(Kostenpflichtiges Produkt)

Delphi-Quellcode:
 TdbDatabase.Connected := FALSE;
    if not DirectoryExists(strgFullArchiveDBPath) then
      forcedirectories(strgFullArchiveDBPath);
    TdbDatabase.Location := strgFullArchiveDBPath + strgDatabaseName;
    TdbDatabase.CreateDatabase;
    TdbDatabase.Connected := TRUE;
    TdbDatabase.Open;
 
with TdbTable do
begin
  FieldDefsTdb.Clear;
  FieldDefsTdb.Add('Index', dtAutoInc);
  FieldDefsTdb.Add('Column2', dtString, 51);

  TableName := aTableName;
  CreateTable;
end;
Die Componenten sind TdbDatabase und TdbTable.
Jetzt alles klar?

Gruß
Peter


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