AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Datenbankstruktur im Quelltext erstellen, wie?
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbankstruktur im Quelltext erstellen, wie?

Ein Thema von Nintendo · begonnen am 10. Aug 2012 · letzter Beitrag vom 12. Aug 2012
Antwort Antwort
Seite 1 von 2  1 2      
Nintendo

Registriert seit: 16. Feb 2009
82 Beiträge
 
#1

Datenbankstruktur im Quelltext erstellen, wie?

  Alt 10. Aug 2012, 20:06
Datenbank: BDE • Version: 1.0 • Zugriff über: odbc
Hallo,

derzeit beschäftigt mich die Frage, wie ich eine Datenbankstruktur im Quelltext aufbauen kann.

Klarer ausgedrückt:

Früher konnte ich mit der Datenbank Oberfläche meine Datenbank entwerfen:



Feldname --- Vorname
Feldlänge --- 20
Feldtyp --- Zeichen
...

Wie erreiche ich das mit Delphi Quelltext.

Gibt es da eine Schnittstelle in der TTable Komponente.

Zu Turbo Pascal Zeiten hatte ich mal was geschrieben und es gab damals Bibliotheken dafür.

Aber geht das eventuell mit der TTable Komponente eleganter?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Datenbankstruktur im Quelltext erstellen, wie?

  Alt 10. Aug 2012, 20:07
Gibt es eien Grund zur Verwendung der BDE?
Markus Kinzler
  Mit Zitat antworten Zitat
Nintendo

Registriert seit: 16. Feb 2009
82 Beiträge
 
#3

AW: Datenbankstruktur im Quelltext erstellen, wie?

  Alt 10. Aug 2012, 20:42
Gibt es eien Grund zur Verwendung der BDE?
Ja, den gibt es. Ich sollte den Threadtitel von

"Datenbankstruktur im Quelltext erstellen, wie?"

in

Turbo Delphi -> Datenbankstruktur erstellen -> wie

ändern.


Der andere Grund ist dieses restriktive Forum das mich zwingt, die verwendete Datenbank um jeden Preis anzugeben, damit die Frage überhaupt erst mal gepostet wird. Schikane!!!



Wie kann ich das machen, gerne möglichst unabhängig von der später verwendeten Datenbank Engine.

Der Grund, warum ich BDE verwende ist einfach der, das ich seit Delphi 3 nicht mehr mit Datenbanken gearbeitet habe und heute in Turbo Delphi eine Datenbankanwendung erstellen wollte,

doch leider gibt es da nirgendwo die Möglichkeit, interaktiv die Datenbanktabelle aufzubauen und wenn ich meine Anwendung starte, brav mit DBText Eingabefeldern gebaut und die Datenquellen verlinkt -> DBText -> DataSource -> TTable, dann kann ich nichts in die Eingabefelder eingeben und ich kann auch keine Daten speichern um wenigstens erst mal eine leere Tabelle zu kriegen, in der außer der Felddefinition gar nix steht. Ich erimnnere mich dunkel das es zum Schreiben der Daten -> TTable.Update gab. Wenn aber noch gar keine Datenbankdatei existiert???

Auch das Setzen der TTable Eigenschaft Active auf TRUE bringt nichts, obwohl ich im Feldeditor der TTable Komponente meine Felder definiert habe. Ich erhalte stattdessen bei Setzen Active auf TRUE die Fehlermendung -> <meine.dbf> existiert nicht.

Wie also erzeuge ich die. Einfach nur die leere Datei mit den Felddefinitionen. Gerne vom späteren Datenbanktreiber unabhängig, aber als Workaround genügt vorerst eine .dbf Datei.

Gibt es eine Chance, die Tabellenstruktur der leeren Datei mit den späteren Daten mit ObjectPascal unter Verwendung der TDataSet Klasse zu erstellen oder brauche ich zwingend ein Tool, mit dem ich die leere Tabelle erzeugen kann/muss?

Geändert von Nintendo (10. Aug 2012 um 22:43 Uhr)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

AW: Datenbankstruktur im Quelltext erstellen, wie?

  Alt 10. Aug 2012, 21:18
Hallo,
if not ttable.Exists then ttable.CreateTable; sollte dein Problem lösen.
Die Felddefinitionen müssen in FieldDefs abgelegt, die Indexdefinitionen (soweit erforderlich) in IndexDefs, und StoreDefs muss = True sein.
Das Erstellen der Tabelle kannst Du dann z. B. ins FormCreate legen, dann wird die Tabelle beim ersten Programmstart automatisch erstellt. TTable.Active := True sollte dann auch im FormCreate stehen.
  Mit Zitat antworten Zitat
Nintendo

Registriert seit: 16. Feb 2009
82 Beiträge
 
#5

AW: Datenbankstruktur im Quelltext erstellen, wie?

  Alt 10. Aug 2012, 22:20
Hey, Danke @nahpets, das war es, was ich wissen wollte.

Allerdings bescwert er sich immer noch, das meine Datei, deren Name ich mit

TTable.DatabaseName := <mein>.dbf;

zugewiesen habe, nicht existiert.

Ich will ja aber gerade nach Definition der Felder mit dem Feldeditor im Objektinspektor, die Datei schreiben, wenn sie noch nicht existiert und wenn sie existiert, dann einfach mit TTable.Open öffnen.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: Tobject);
begin
  MyTable.DatabaseName := <mein>.dbf;
  if MyTable.Exists then MyTable.OPen else
  begin
    MyTable.StoreDefs := true;
    MyTable.CreateTable;
  end;
end;
Was kann/muss ich noch machen?

Geändert von Nintendo (10. Aug 2012 um 22:27 Uhr)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#6

AW: Datenbankstruktur im Quelltext erstellen, wie?

  Alt 10. Aug 2012, 23:03
Hallo,

der Tabellenname kommt nach TTable.TableName.
TTable.DatabaseName bleibt leer.
  Mit Zitat antworten Zitat
Nintendo

Registriert seit: 16. Feb 2009
82 Beiträge
 
#7

AW: Datenbankstruktur im Quelltext erstellen, wie?

  Alt 11. Aug 2012, 10:24
Danke so weit. Aber jetzt erhalte ich eine

EDBEngineError Exception mit der Meldung "Merkmal nicht verfügnar".

Was muss ich noch machen?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

AW: Datenbankstruktur im Quelltext erstellen, wie?

  Alt 11. Aug 2012, 10:47
Mir ist, als hätte ich es mal so gemacht, das war allerdings beim Firebird Embedded.
Delphi-Quellcode:
//TIBTable

IBTable1.Close;
IBTable1.TableName := 'abd';
IBTable1.FieldDefs.Clear;
IBTable1.FieldDefs.Add(...);
IBTable1.FieldDefs.Add(...);
IBTable1.FieldDefs.Add(...);
IBTable1.CreateTable;
Oder du rufst das entsprechende CREATE TABLE abc ... auf (execute).
$2B or not $2B
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#9

AW: Datenbankstruktur im Quelltext erstellen, wie?

  Alt 11. Aug 2012, 20:02
Danke so weit. Aber jetzt erhalte ich eine

EDBEngineError Exception mit der Meldung "Merkmal nicht verfügnar".

Was muss ich noch machen?
poste bitte mal Deine Tabellendefinition, nicht alle in TTable auswählbaren Datentypen werden von allen Datenbank unterstützt. DBF hat da ziemliche Einschränkungen, ohne hier die Definitionen sehen zu können, gibts keine realistische Chance das Problem lösen zu helfen.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Datenbankstruktur im Quelltext erstellen, wie?

  Alt 11. Aug 2012, 20:15
Hallo,
Ich würde das ganze per TQuery machen.

Heiko
Heiko

Geändert von hoika (11. Aug 2012 um 20:21 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:23 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