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
nahpets
(Gast)

n/a Beiträge
 
#1

AW: Datenbankstruktur im Quelltext erstellen, wie?

  Alt 10. Aug 2012, 20: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
 
#2

AW: Datenbankstruktur im Quelltext erstellen, wie?

  Alt 10. Aug 2012, 21: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 21:27 Uhr)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#3

AW: Datenbankstruktur im Quelltext erstellen, wie?

  Alt 10. Aug 2012, 22: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
 
#4

AW: Datenbankstruktur im Quelltext erstellen, wie?

  Alt 11. Aug 2012, 09: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.557 Beiträge
 
Delphi 12 Athens
 
#5

AW: Datenbankstruktur im Quelltext erstellen, wie?

  Alt 11. Aug 2012, 09: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).
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#6

AW: Datenbankstruktur im Quelltext erstellen, wie?

  Alt 11. Aug 2012, 19: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.277 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Datenbankstruktur im Quelltext erstellen, wie?

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

Heiko
Heiko

Geändert von hoika (11. Aug 2012 um 19:21 Uhr)
  Mit Zitat antworten Zitat
Nintendo

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

AW: Datenbankstruktur im Quelltext erstellen, wie?

  Alt 12. Aug 2012, 14:18
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.
Habe jetzt alle Feldtypen auf ftString gesetzt. Habe außerdem statt TTable das TClientDataset verwendet. Jetzt kommt keine Fehlermeldung mehr, aber ich kann in die Eingabefelder TDBEdit auch nichts eingeben.

Habe außerdem das Ganze mal mit der TDBF Komponente in Lazarus nachgebaut und musste feststellen, das die Felderzuweisung auch nicht klappt. ABer das werde ich jetzt entweder selber hinkriegen oder halt keine Datenbanken programmieren.

Geändert von Nintendo (12. Aug 2012 um 17:20 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz