AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Kleines Tool: SQL - TableToClass

Kleines Tool: SQL - TableToClass

Ein Thema von Hobbycoder · begonnen am 11. Sep 2018 · letzter Beitrag vom 15. Sep 2018
Antwort Antwort
Seite 5 von 5   « Erste     345
Hobbycoder
Registriert seit: 22. Feb 2017
Hi,

ich bin von Natur aus ein fauler Mensch (ob das auf alle Entwickler zutrifft kann und will ich nicht behaupten).
Jedenfalls ging es mir auf den Keks ständig das Klassengerüst für meine Datenbanktabellen zu schreiben. Jedenfalls bei 102 Tabellen + Views schon echt Arbeit.

Weil mir ja nun die DP und deren User wirklich viele gehen (nämlich ihre Zeit, um mir bei meinen Fragen und Problemen zu helfen), will ich mal was zurückgeben, sofern gewünscht.

Nun, dann schreibe ich mir halt ein kleines Tool, dass mir zumindest mal das 'Grobe' abnimmt. Herausgekommen ist ein doch recht nützliches Werkzeug.
Ich bin mir sicher, sowas gibt es schon. Trotzdem habe ich mich nicht auf die Suche gemacht, sondern einfach das ganze nach meinen Bedürfnissen umgesetzt.
Sicherlich arbeitet jeder Entwickler etwas anders, so dass es nicht für alle 'brauchbar' ist.
Wer aber sich schnell aus der Tabelle eines SQL-Servers eine Klasse erstellen will, der kann das nutzen.

Es ist kein Allrounder, sondern wirklich nur ein ganz kleines Tool, was nichts anderes macht, als die Felder aus einer Tabelle lesen, die Datentypen zu assoziieren und das ganze in eine Delphi-Klasse umzusetzen. Nicht mehr und nicht weniger. Zusätzlich erstellt es gleich eine TObjectList und packt auch die SQL-Abfrage gleich mit hinein. Eben so, wie ich es immer mache. So dauert jetzt das Erstellen eine Klassen-Unit zu einer neuen Tabelle statt 5-10 Minuten nur noch 15 Sekunden. Für mich eine echte Erleichterung.

Danach braucht man nur noch alles ein wenig nach seinen Bedürfnissen anpassen, dass zu löschen, was man nun nicht benötigt, und fertig.

Wer will kann sich das ja mal anschauen oder auch gerne nutzen.

Zur Zeit wird MySQL, MSSQL, Interbase/Firebird und ODBC unterstützt. Ich könnte aber noch andere DBMS aufnehmen, wenn der Bedarf besteht. Dann müsste ich es aber erst ein wenig umbauen.

Und wie gesagt, ich bin mir bewusst, dass es solche Tools bestimmt schon gibt. Aber ich wollte weder was kaufen, noch mir irgendwelche Softwarepakete installieren, sondern das einfach mal selbst machen.

Exe-Datei und Schreenshot im Anhang.

Feedback (in freundlicher Form) durchaus erwünscht.
Miniaturansicht angehängter Grafiken
tabletoclass2.jpg  
Angehängte Dateien
Dateityp: zip TableToClass.zip (3,28 MB, 2x aufgerufen)
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.

Geändert von Hobbycoder (Gestern um 13:25 Uhr)
 
Hobbycoder
 
#41
  Alt 15. Sep 2018, 12:24
Ich würde noch Postgresql gut finden,
Das kann ich machen

auch wenn ich das Tool absehbar nicht brauche.
Schade Falls doch, weißt du ja wo du es findest.

@sql field types: Wieso nutzt Du die Metainfo Funktion nicht, auf die mkinzler hingewiesen hat?
Mach ich jetzt ja.

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.

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.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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