AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Kleines Tool: SQL - TableToClass
Thema durchsuchen
Ansicht
Themen-Optionen

Kleines Tool: SQL - TableToClass

Ein Thema von Hobbycoder · begonnen am 11. Sep 2018 · letzter Beitrag vom 1. Jan 2024
Antwort Antwort
mkinzler
(Moderator)

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

AW: Kleines Tool: SQL-Table to Class

  Alt 11. Sep 2018, 10:01
Du könntest dir auch mal Marshmallow/Sping4D ansehen.

Dort ist auch ein entsprechendes Tool beinhaltet.

Delphi-Quellcode:
unit ORM.Model.Employee.CUSTOMER;

interface

uses
  Spring.Persistence.Mapping.Attributes,
  Spring.Persistence.Core.Graphics;

type
  [Entity]
  [Table('CUSTOMER', '')]
  TCUSTOMER = class
  private
    FCUST_NO: Integer;
    FCUSTOMER: string;
    FCONTACT_FIRST: string;
    FCONTACT_LAST: string;
    FPHONE_NO: string;
    FADDRESS_LINE1: string;
    FADDRESS_LINE2: string;
    FCITY: string;
    FSTATE_PROVINCE: string;
    FCOUNTRY: string;
    FPOSTAL_CODE: string;
    FON_HOLD: string;
  public
    [Column('CUST_NO',[cpRequired,cpPrimaryKey,cpNotNull],10,0)]
    property CUST_NO: Integer read FCUST_NO write FCUST_NO;
    [Column('CUSTOMER',[cpRequired,cpNotNull],25)]
    property CUSTOMER: string read FCUSTOMER write FCUSTOMER;
    [Column('CONTACT_FIRST',[],15)]
    property CONTACT_FIRST: string read FCONTACT_FIRST write FCONTACT_FIRST;
    [Column('CONTACT_LAST',[],20)]
    property CONTACT_LAST: string read FCONTACT_LAST write FCONTACT_LAST;
    [Column('PHONE_NO',[],20)]
    property PHONE_NO: string read FPHONE_NO write FPHONE_NO;
    [Column('ADDRESS_LINE1',[],30)]
    property ADDRESS_LINE1: string read FADDRESS_LINE1 write FADDRESS_LINE1;
    [Column('ADDRESS_LINE2',[],30)]
    property ADDRESS_LINE2: string read FADDRESS_LINE2 write FADDRESS_LINE2;
    [Column('CITY',[],25)]
    property CITY: string read FCITY write FCITY;
    [Column('STATE_PROVINCE',[],15)]
    property STATE_PROVINCE: string read FSTATE_PROVINCE write FSTATE_PROVINCE;
    [Column('COUNTRY',[],15)]
    property COUNTRY: string read FCOUNTRY write FCOUNTRY;
    [Column('POSTAL_CODE',[],12)]
    property POSTAL_CODE: string read FPOSTAL_CODE write FPOSTAL_CODE;
    [Column('ON_HOLD',[],1)]
    property ON_HOLD: string read FON_HOLD write FON_HOLD;
  end;

implementation


end.
Miniaturansicht angehängter Grafiken
codeentityeditor01.jpg  
Markus Kinzler
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
1.002 Beiträge
 
#2

AW: Kleines Tool: SQL-Table to Class

  Alt 11. Sep 2018, 11:24
Mach ich. Danke.

Aber ich schrieb ja
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.
Außerdem bin ich gerade dabei mir für beliebige Felder ein IndexOf bzw. SortBy automatisch mit einzubauen, dann spare ich mir noch mehr Auswand.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
1.002 Beiträge
 
#3

AW: Kleines Tool: SQL-Table to Class

  Alt 11. Sep 2018, 12:42
So, für alle, die es interessiert, ich habe noch ein paar kleine Verbesserungen vorgenommen:

- Kleine Fehler beseitigt
- Eigene Connection und eigene Query-Klasse kann angegeben werden (sonst ist es wirklich nur für mich nutzbar)
- Doppelklick auf die Feldliste zum Ändern des DatenTyps
- AutoInc wird erkannt und nicht mehr in den Inserts oder Updates als Feld verwendet
- Eine Sortierung zu jeder Property wird mit angelegt (Kann eingestellt werden)
- Ein IndexOf zu jedem Property wird mit angelegt (kann eingestellt werden)
- Weiterhin kann man für jede Feld dieses einzeln festlegen (Doppelklick auf Feld)

Die neue Version liegt im Anhang des ersten Post.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: Kleines Tool: SQL-Table to Class

  Alt 11. Sep 2018, 21:41
Hab's mal probiert. Ich kann leider nur mysql auswählen.
Sowas hab ich dann mal aus einer (alten) xampp Installation gestartet, bekomme aber kein Connect.
Es passiert nichts. Der Verbindungsdialog (Connection Manager) bleibt stehen.
Phpmyadmin geht dagegen.
Test Parameter:
Port laut xampp
Server localhost
user root
Schema verschiedene laut phpmyadmin probiert.
xampp, mysql sind auch 32bit wie die Anwendung.
Ja und jetzt wo ich nachschaue, mysql ist mariadb 10.1.26

Klick auf Abbrechen in Connection Manager bringt AV, die immer mehr werden.

P.S.: Avast macht ziemlich Wind, aber kennt man ja schon.
Gruß, Jo
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
1.002 Beiträge
 
#5

AW: Kleines Tool: SQL-Table to Class

  Alt 11. Sep 2018, 22:42
Hätte das nur auf meiner Entwicklungsmaschine getestet war vielleicht etwas zu Voreilig.
Und jetzt wo du‘s sagst....ein bisschen Errorhandling im Connection-Manager wär auch nicht schlecht

Ich werd das morgen mal auf einer Maschine Testen, die Jungfräulich ist..
ich könnte auch mal madExcept aktivieren. Dann kann man mit verpatztem.Errorhandling etwas mehr anfangen

Danke für die Rückmeldung. Wenn ich‘s dann korrigiert habe, würdest du das nochmal Testen?
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#6

AW: Kleines Tool: SQL-Table to Class

  Alt 12. Sep 2018, 07:46
Erfahrungsgemäß sind es ja irgendwelche lokalen Konstanten die woanders nicht passen, feste Verzeichnisse usw.
Ach und was mir einfällt, ich war so frech, das direkt aus dem ZIP zu starten. Und noch schlimmer: altes Windows 7.
Also wer weiß, was fehlt..
Gruß, Jo
  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 19:36 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