Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Kleines Tool: SQL - TableToClass (https://www.delphipraxis.net/197846-kleines-tool-sql-tabletoclass.html)

Hobbycoder 15. Sep 2018 12:24

AW: Kleines Tool: SQL-Table to Class
 
Zitat:

Zitat von jobo (Beitrag 1413265)
Ich würde noch Postgresql gut finden,

Das kann ich machen:-)

Zitat:

Zitat von jobo (Beitrag 1413265)
auch wenn ich das Tool absehbar nicht brauche.

Schade ;-) Falls doch, weißt du ja wo du es findest.

Zitat:

Zitat von jobo (Beitrag 1413265)
@sql field types: Wieso nutzt Du die Metainfo Funktion nicht, auf die mkinzler hingewiesen hat?

Mach ich jetzt ja.

Zitat:

Zitat von jobo (Beitrag 1413265)
Außerdem müsste doch ein simples "select * from <quelle> where 1=0" reichen, damit Delphi selbst die Feldtypen an die Felder bindet? Dort wären sie dann abgreifbar.

Ja, bedingt. Dort bekomme ich aber meines Wissens nach keine Informationen über den Default-Wert, der einem Feld hinterlegt ist.

Zitat:

Zitat von jobo (Beitrag 1413265)
Wahrscheinlich gibt es nur bei Float Typen aus der DB Interpretationsspielraum bzw. müsste der Anwender entscheiden können, was was werden soll, money, double, bcd, ..

Auf jeden Fall kann der Benutzer mittels Doppelclick auf ein Feldname festlegen, welchen Datentyp er gerne für dieses Feld verwenden möchte. So kann er aus einem Extended auch ein Currency machen, oder sich irgendwas als String liefern lassen. Das Program passt gleich das Property und den Getter/Setter an. (Sowas ähnliches wünschte ich mir in der Delphi-Ide auch gerne mal. Einfach mal den Datentyp des Properties ändern und Getter/Setter und zugeordnete Methoden würde sich auch gleich mit anpassen. Vielleicht geht's ja auch, und ich hab noch nicht herausgefunden wie ;-) )

Es soll ja letztlich erst mal nur eine halbwegs komplette Vorlage zu einer Klasse bilden. In 99% aller Fälle wird diese ja sowieso dann noch vom Benutzer in Delphi abgeändert. Nur erspart man sich erst mal einiges an Tipparbeit, vergisst keine Properties, hat erstmal eine 100%-tige Zuordnung zu den DB-Feldern und kann diese schnell mal eben in seinem Programm verwenden. Und sei es nur, um sich mal eben ein Fenster zu erstellen um irgendwelche DB-Zustände einzusehen.

Edem 16. Dez 2019 18:42

AW: Kleines Tool: SQL - TableToClass
 
Hy, hast du so was nicht für SQLite?

MichaelP 17. Dez 2019 10:42

AW: Kleines Tool: SQL - TableToClass
 
Hallo
unterstützt du mittlerweile auch postgres/postgis Datenbanken?

EmWieMichael 18. Dez 2019 08:02

AW: Kleines Tool: SQL - TableToClass
 
Bisher bilde ich einen Datensatz einer Tabelle ganz simpel in einem Record ab; in einem weiteren Record wird die Feldstruktur (Typ und Länge) einer Tabelle definiert. Basis-SQL-Funktionen (wie z. B. Tabelle erzeugen, Satz anfügen, ändern, löschen) werden mit Hilfe der Strukturdaten erstellt und sind für alle Tabellen verfügbar. Das heißt, eine neue Tabelle samt Basisfunktionen ist mit der Definition des Datenrecords und des Strukturrecords verfügbar.
Das Anlegen eines Satzes erfolgt dann mit einem Aufruf wie DBAddSet(Person, dbPerson). Mit der gleichen Funktion kann dann aber auch für alle anderen Tabellen ein Satz angelegt werden: DBAddSet(Adresse, dbAdresse).

Auf die Idee hier mit Klassen zu arbeiten bin ich noch nicht gekommen.
Aber, mal ganz vorsichtig gefragt: Wo liegt der Vorteil dieser Vorgehensweise?

Gruß Michael

joehd 1. Jan 2024 22:35

AW: Kleines Tool: SQL - TableToClass
 
Hallo also der Threat ist ja schon einges her aber kann man das auch mit SQLITE machen ... Ich nutze gerne SQLite und dann Zeos um auf meinem lokalen Entwicklungs PC das zu testen ...
Wir an dem Tool noch was gemacht oder gibt es den Source ?
Grüße und frohes neues
Joachim


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 Uhr.
Seite 2 von 2     12   

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