AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi FireDac SQLite TFDTable Feld hinzufügen ohne löschen durch CreateDataSet
Thema durchsuchen
Ansicht
Themen-Optionen

FireDac SQLite TFDTable Feld hinzufügen ohne löschen durch CreateDataSet

Ein Thema von DukeM · begonnen am 24. Jul 2018 · letzter Beitrag vom 25. Jul 2018
Antwort Antwort
DukeM

Registriert seit: 1. Feb 2011
32 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

FireDac SQLite TFDTable Feld hinzufügen ohne löschen durch CreateDataSet

  Alt 24. Jul 2018, 17:02
Datenbank: SQlite • Version: 10.2 • Zugriff über: FireDac
Hallo, seit Wochen versuche ich eine Tabelle um eine Spalte/Feld zu erweitern. Jetzt brauche ich aber doch solangsam ein Lösung, da ich nicht extra einen Ex/Import schreiben möchte

Mit der einzigen Lösung die ich kenne, löscht er die ganze Tabelle. "CreateDataSet" erstellt "neu1" aber löscht gleichzeitig alles bisherige:
Code:
with FDTable.fielddefs.AddFieldDef do begin
  DataType := ftInteger;
  Name := 'neu1';
end;

FDTable.CreateDataSet;
Wenn ich über den TFDTable FieldEditor zur Entwurfszeit ein Feld hinzufüge, meckert er dann, dass diese nicht gefunden wird. Idealerweise soll die Komponente sich doch darum kümmern, dass es hinzugefügt wird.


Gruß und Danke
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: FireDac SQLite TFDTable Feld hinzufügen ohne löschen durch CreateDataSet

  Alt 24. Jul 2018, 17:06
Einfach:

Ausführen in einem Query:

"Alter Table Tablename add [neu1] INTEGER"
Fritz Westermann
  Mit Zitat antworten Zitat
DukeM

Registriert seit: 1. Feb 2011
32 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: FireDac SQLite TFDTable Feld hinzufügen ohne löschen durch CreateDataSet

  Alt 24. Jul 2018, 17:21
Ja, hatte ich jetzt auch noch mal probiert. Klappt so.. mist, sorry, hatte letzte mal dann wohl noch einen anderen Fehler.
Trotzdem ärgerlich, dass die Komponente das nicht selber kann.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: FireDac SQLite TFDTable Feld hinzufügen ohne löschen durch CreateDataSet

  Alt 24. Jul 2018, 22:22
Warum sollte die Komponente das können?
Ihre vordringliche Aufgabe ist die Kommunikation mit der Datenbank, nicht ihre Modifikation. Dafür werden meist spezielle Programme mitgeliefert.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
DukeM

Registriert seit: 1. Feb 2011
32 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: FireDac SQLite TFDTable Feld hinzufügen ohne löschen durch CreateDataSet

  Alt 25. Jul 2018, 09:16
in TFDTable habe ich ja die "Verwaltung" der Felder, über den Editor. Wenn ich dort eins hinzufüge, wäre es praktisch wenn er sich auch darum kümmert, dass es eingefügt wird.
Mit "FDTable.CreateDataSet" erstellt er sie ja auch komplett. Die Komponente hat 200 Methoden und Propertys, da dachte ich, man kann sie irgendwie dazu bringen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: FireDac SQLite TFDTable Feld hinzufügen ohne löschen durch CreateDataSet

  Alt 25. Jul 2018, 11:10
Sicher?
Zitat:
Creates new empty internal data storage for a dataset.

Use CreateDataSet at run time to create an empty internal data storage for a dataset and activate the dataset.

After the call, the application can populate the dataset with data and optionally save data to the external file. Optionally, the dataset can be created setting Active to True.
Das "DataSet" mit dem im Programm hantiert wird ist der lokale Speicher der DB-Daten.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
591 Beiträge
 
Delphi XE6 Enterprise
 
#7

AW: FireDac SQLite TFDTable Feld hinzufügen ohne löschen durch CreateDataSet

  Alt 25. Jul 2018, 12:24
Sicher?
Zitat:
Creates new empty internal data storage for a dataset.

Use CreateDataSet at run time to create an empty internal data storage for a dataset and activate the dataset.

After the call, the application can populate the dataset with data and optionally save data to the external file. Optionally, the dataset can be created setting Active to True.
Das "DataSet" mit dem im Programm hantiert wird ist der lokale Speicher der DB-Daten.

Gruß
K-H
Wenn Du etwas weiter runterscrollst, folgt da noch der wichtige Satz
Zitat:
Note that this method is applicable only for TFDCustomMemTable.
Mit anderen Worten, das entspricht der gleichnamigen Methode der ClientDataSets.

Ansonsten bietet TFDTable aber auch die von anno dunnemals (BDE/TTable) bekannte Methode CreateTable. Aber auch die kann Tabellen nur anlegen, nicht ändern.
  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 14:06 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