AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte DIMOWA® SQL Resource Creator
Thema durchsuchen
Ansicht
Themen-Optionen

DIMOWA® SQL Resource Creator

Ein Thema von haentschman · begonnen am 22. Sep 2016 · letzter Beitrag vom 20. Dez 2021
Antwort Antwort
Seite 2 von 6     12 34     Letzte »    
Benutzerbild von haentschman
haentschman
Registriert seit: 24. Okt 2006
Hallöle...
Diesmal gebe ich auch mal etwas an die Community zurück...

Ein Tool welches die Ressourcenstrings, entsprechend dem in dem Link genannten Tutorial (http://www.delphipraxis.net/49505-sq...einbinden.html), verwaltet.
* User definiertes Farbschemata
* Verwaltung Projekte
* Verwaltung SQL für mehrere Datenbanken
* Verwaltung der Status der SQL im Netzwerk (Kollegen)
* Verwaltung beliebiger Ordner für die SQL
* Handling wie man aus einem Editor kennt
* Teilstringssuche
-> die Projekte / Ini werden im Benutzerverzeichnis abgelegt !

Tipps
1. Anlegen des Basisordners für alle SQL
2. Anlegen der Unterordner für projektspezifische SQL
3. Ein Namespace für die SQL ist imho wichtig. (vernüftige Reihenfolge und Suchen)


22.09.2016:

* Relase

25.10.2016:

* Austausch der ComboBoxen

26.10.2016:

* Listenindex korrigiert. (In Verbindung mit dem Austausch der ComboBoxen. Trat nur beim Erststart auf.)

26.10.2016:

* Noch einen Fehler mit dem ApplicationData Order gefunden.

27.10.2016:

Danke @Ghostwalker...
* Es dürfen als Datenbank "Version" nur Ganzzahlen verwendet werden. z.B. 25 für Firebird 2.5 (Ressourcenname darf keine Sonderzeichen enthalten). Prüfung ergänzt.
* Auswahl von Pfadangaben um Tippfehler vorzubeugen.

01.01.2017:

! Neues Setup.
! Das Programm wird mit einer Freeware Lizenz installiert. (1 DBMS)
! Wie versprochen bekommen die DP Mitglieder eine eigene DP Lizenz. (Professional) Wer eine haben möchte bitte per PN.
! Die Kaufversion wird mit einer personalisierten Lizenz ausgestattet. (über http://www.dimowa.com/index.php/produkte)
+ Lizenz
+ Handbuch integriert
+ About Dialog
+ Filterung nach Status
+ optische Erkennung des Filters
+ Meldung bei kompletter Konvertierung zu UpperCase, damit evt. Texte nicht konvertiert werden
- Bug Fix: Refresh bei leerer Projektliste

11.02.2017:

* Sortierung der RC Datei. Macht Sinn beim Vergleich mit dem Versionskontrollsystem.

22.02.2017: Version 1.2

+ Shortcuts
+ Contraints der Mainform verkeinert... größer geht immer.
+ Meldung für Projekt: Voraussetzungen zum Speichern
* Hinzufügen ist nun auf jedem Eintrag des Ordners möglich. Das SQL wird jeweils in dem Ordner hinzugefügt.

24.02.2017

+ Möglichkeit der Eingabe von beliebigen Datenbanken
+ Beliebige Zuordnung des Highlighters zur Datenbank
+ PopUp Menüs
* Prüfung auf Validität der Daten mit z.B. Meldungen / farbliche Edits
* Style Änderungen (Header der Panels)

26.02.2017:

- Bug: Sortierung der RC Datei war, unter bestimmten Umständen, nicht korrekt.
- Bug: Ermittlung des aktuellen Knotens. (war ab 24.02. so)
- Bug: beim Eintragen des Ordners im Projekt.

27.02.2017:

* Prüfung im Setup auf Vohandensein einer Professional Lizenz.
- Schreibfehler im Header der Listview Datenbanken

28.02.2017:

- Bug: Ermittlung des aktuellen Knotens. (war ab 24.02. so...und immer noch) Sorry.

08.03.2017

+ Einstellungen: rechter Rand
+ Einstellungen: automatischer Zeilenumbruch
+ Einstellungen: Ordnername als Prefix für Ressourcenname
(doppelte SQL Namen möglich, 1x je Ordner)
+ Splitter für Ressource
* Sortierung: Ordnername + SQL Name
* Merken des letzten Ordners bei Dateiauswahl
+ Parent aus dem letzten Ordner ermitteln (nur Ordner im Projekt)

21.04.2017

+ externer Editor für direktes Testen der SQL aus dem Editor

22.04.2017

- AV in den Einstellungen für das Projekt beim Benutzen der Checkbox "alle Ordner"
+ Templates für SQL per Drag/Drop oder Doppelklick
(vorgefertigte Statements aus einem Ordner/Repository, Root Ordner über Einstellungen)

24.04.2017

Danke an @Ghostwalker
* Das große "C" wurde nicht im Editor angezeigt, quasi unterschlagen. Welcher Trottel hat denn auch den ShortCut auf "Shift+C" gesetzt.

25.04.2017

- AV die ich mit der Version vom 24.04.2017 eingebaut habe
* Setzen des Focus auf den Editor überarbeitet.

27.04.2017

+ Release 1.3
+ Automatisches Online Update beim Start. Kein Setup mehr nach der Installation...
Hinweis: Die Automatik muß erst in den Einstellungen aktiviert werden.
+ Splash Screen

04.05.2017

* Korrektur vom Drag/Drop beim Hinzufügen der Schablone
* Updater angepaßt (Rechte, Zertifikat)

12.05.2017

* grundsätzliche Abschaltung der Hochauflösung ... Auflösungen > 100% sind nun wieder anzuschauen.

24.07.2017

* Setup korrigiert (falsche Release Version)

08.10.2017

+ Release 1.4
+ Verschlüsselung der Ressource (Benutzung im Quelltext siehe Handbuch)

21.10.2017

* Suche nicht nach jedem Tastendruck, sondern am Ende der Eingabe des
Suchbegriffes

21.01.2018

+ Button für Änderung der Status Zeit im Kopf auf NOW.
Hinweis: Absichtlich manuell statt automatisch beim Speichern der Änderungen!

[B]DOWNLOAD weil > 5MB: Anfrage an mich.
Lizenz: Professional für die Community (per PN)

Austausch Lizenz: Einfach in UserData\Roaming\DIMOWA\dSRG\License austauschen oder via Setup dahin kopieren. Viel Spaß...
Miniaturansicht angehängter Grafiken
black.png   splash.png   ressource_normal.png   ressource_crypt.png  
Angehängte Dateien
Dateityp: pdf Handbuch.pdf (821,4 KB, 59x aufgerufen)

Geändert von haentschman ( 8. Sep 2022 um 12:05 Uhr)
 
Benutzerbild von haentschman
haentschman

 
Delphi 12 Athens
 
#11
  Alt 5. Feb 2017, 16:52
01.01.2017 - Update
* siehe ersten Post
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

 
Delphi 12 Athens
 
#12
  Alt 11. Feb 2017, 13:06
11.02.2017 - Update
* siehe ersten Post
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

 
Delphi 12 Athens
 
#13
  Alt 21. Feb 2017, 17:19
Hallöle...

Ich bin ja schwer enttäuscht...
Ich wußte das die Datenbank das Stiefkind jedes Programmieres ist. Aber mit so wenig Reaktion hatte ich nicht gerechnet. Nur 2 Lizenen angefragt...Reaktion = 0.

Wie macht ihr das im allgemeinen so? Querbeet über den QT verteilt? Quoted Orgie im Statement? Ohne Parameter? Es geht auch einfacher und es kostet nix. ...außer über seinen Schatten zu spingen.

Kann ich noch ein paar Fragen beantworten? Was habt ihr an dem Prinzip nicht verstanden?

Jetzt aber mal los...

Geändert von haentschman (21. Feb 2017 um 17:22 Uhr)
  Mit Zitat antworten Zitat
hoika

 
Delphi 10.4 Sydney
 
#14
  Alt 21. Feb 2017, 19:14
Hallo,
wir bauen unsere Queries je nach Anforderungen dynamisch zusammen.
Statische SQL-Anweisungen haben wir nicht ...
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

 
Delphi 12 Athens
 
#15
  Alt 21. Feb 2017, 19:45
Zitat:
wir bauen unsere Queries je nach Anforderungen dynamisch zusammen.
...das finde ich Hardcore. Wie testet man sowas? Ich meine nicht "select * from Universe" sondern komplexe Statements oder Scripte?
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

 
Delphi 11 Alexandria
 
#16
  Alt 21. Feb 2017, 19:55
Hallo,

ich oute mich mal. Ich habe den Ansatz dieses Programms (noch) nicht verstanden.

Ich nutze z.B. simple externe Textfiles für SQL Statements, für jede Query ein Textfile. Dazu gibt es 2 Programme: Das erste ist das Parametrierungsprogramm wo man das DBMS auswählt, die DB, die Zugangsdaten und das SQL Statement erstellt. Das SQL kann direkt ausgeführt und getestet werden. Heraus kommt von diesem 1. Programm ein verschlüsseltes Textfile mit den genannten Daten.
Das 2. Programm ist das eigentliche Kundenprogramm. Das liest die entsprechenden Textfiles ein und führt die Statements aus.
Der große Vorteil dieser Version: Ich kann ohne Delphi das SQL Statement auf Zuruf direkt beim Kunden anpassen.

So wie ich es verstehe bindet dein Programm die SQL_Statements in die Resource-Datei ein.
Was hat das für einen Vorteil gegenüber meinem Ansatz mit den Textfiles?

Sorry, für mein sicherlich nicht vorhandenes Wissen...
Jürgen
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

 
Delphi 12 Athens
 
#17
  Alt 22. Feb 2017, 07:02
Moin...
Zitat:
Was hat das für einen Vorteil gegenüber meinem Ansatz mit den Textfiles?
Im Prinzip machen wir es gleich. Extern sind die SQL testbar und können auch vom Datenbankentwickler ggf. geändert werden. Das ist der entscheidende Punkt die Statements nicht im Quelltext zu lagern sondern im Versionskontrollsystem. Wie man dann die SQL weiterverarbeitet kommt auf den Einsatzzweck an. Ich habe mich für die Ressource entschieden.
Zitat:
So wie ich es verstehe bindet dein Programm die SQL_Statements in die Resource-Datei ein.
Die kompletten Statements für alle Datenbanken sind in der Ressource enthalten. Über einen Einzeiler werden die SQL Statements geladen und dann zur Query zugordnet. Aus der Ressource wird nur das Statement für das entsprechende DBMS geladen. In der Regel wird der Quelltext nicht geändert.
Zitat:
Heraus kommt von diesem 1. Programm ein verschlüsseltes Textfile mit den genannten Daten.
Ist ja quasi mit der Ressource "identisch", nur das das File nicht mit einkompiliert wird.
Zitat:
Das erste ist das Parametrierungsprogramm wo man das DBMS auswählt
Hier haben wir die Unterschiede. Ich habe mich für die Speicherung des DBMS in der INI entschieden. Im Programm werden die Einstellungen gelesen und ein Interface erzeugt. Das Interface kennt die Ressource und lädt das entsprechende SQL.
Zitat:
Was hat das für einen Vorteil gegenüber meinem Ansatz
Über den Editor muß ich mich nicht darum kümmern wo das eigentliche Statement filetechnisch abgelegt wird. Dem Projekt werden die Ordner "vorgegeben" und z.b. mit "EINFÜGEN" wird das entsprechende SQL mit dem NAMEN automatisch in dem Ordner erzeugt. Ich muß mich nicht mehr um das Dateisystem kümmern (wo speichere ich was). Wenn verschiedene DBMS im Einsatz sind wird das Statement auf alle DBMS kopiert (echte Datei). Beim "KOPIEREN" wird auch der Inhalt in die anderen DBMS kopiert. (weniger Schreibarbeit ) Das SQL trägt selbst den Status damit im Team gesehen werden kann ob das SQL "fertig" ist bzw. überhaupt ein SQL im entsprechenden DBMS vorhanden ist. (zu jedem SQL Namen existiert pro DBMS ein SQL) Hier kann man sich kontrollieren. Über den Editor hat man auch die Syntax besser im Blick.
Zitat:
das SQL Statement auf Zuruf direkt beim Kunden anpassen.
...wie oft kommt sowas vor?

Fazit:
Du hast dich für Textfiles entschieden. Andere bauen sich die Statements dynamisch zusammen.
Wir ging es darum die "select * from universe" im Datenmodul oder in Form1 Fraktion zu "bekehren" bzw. eine andere Variante aufzuzeigen. In diese Kategorie fällst du leider nicht.

Die Idee kam bei meinem letzten Arbeitgeber. Da existierten mehrere Datenmodule pro DBMS. Wenn man mal eine Änderung hatte, Feld in der Datenbank z.B., mußte man alle Statements in den Datenmodulen mitführen...und keines vergessen. Der Kontrollaufwand war furchtbar. Da mußte was passieren. Die externe Speicherung und die Ressource erschien uns ideal.

Geändert von haentschman (22. Feb 2017 um 07:13 Uhr)
  Mit Zitat antworten Zitat
hoika

 
Delphi 10.4 Sydney
 
#18
  Alt 22. Feb 2017, 07:10
Hallo,
Zitat:
Wie testet man sowas?
Hm, durch testen?

Ich weiss ja nicht, wie Deine Formulare aussehen,
bei uns gibt es immer sehr viele Optionen.
Statistiken sind z.B. nie starre Queries.

Alles andere als die Queries dynamisch zusammenzubauen geht gar nicht.

PS:
Die Abfragen sind nicht im Formular, sondern werden über Service-Klassen erzeugt.
PS2:
Zitat:
das SQL Statement auf Zuruf direkt beim Kunden anpassen.
Bei uns nie, da würde unser Support freidrehen.
Heiko

Geändert von hoika (28. Feb 2017 um 00:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

 
Delphi 12 Athens
 
#19
  Alt 22. Feb 2017, 07:29
Moin...
Zitat:
Wie testet man sowas?
Zitat:
bei uns gibt es immer sehr viele Optionen. Statistiken sind z.B. nie starre Queries.
Ich habe dich wahrscheinlich falsch verstanden. Ich ging von einem "Generator" aus. Ich habe auch Queries die quasi aus Bausteinen zusammengesetzt werden. (siehe Bild) Deine Variante setzt wahrscheinlich doch einen drauf.
Zitat:
Die Abfragen sind nicht im Formular, sondern werden über Service-Klassen erzeugt.
...das mit dem Formular geht mal gar nicht. Ählich wie du auch, benutze ich pro DBMS ein Interface. Da gibt es haufenweise Varianten wie man es aufbaut.

Zitat:
Wir ging es darum die "select * from universe" im Datenmodul oder in Form1 Fraktion zu "bekehren" bzw. eine andere Variante aufzuzeigen.
...und davon gibt es auch bei Profis genug. Meistens bei gewachsenen Projekten aus den RAD Anfängen.
Miniaturansicht angehängter Grafiken
baustein.png  

Geändert von haentschman (22. Feb 2017 um 07:46 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

 
Delphi 12 Athens
 
#20
  Alt 22. Feb 2017, 10:16
Meine Datenbank läuft auf einem Unix-Server und wird über einen WebService bereitgestellt, der nicht mit Delphi implementiert wurde. Leider hat Dein Tool für mich keinen Nutzen. Früher mal, da hatte ich Datenmodule mit dutzenden DataSets und Querys...vielleicht wäre es da nützlich für mich gewesen. Aber das ist alles Schnee von gestern. Sorry.

Dennoch interessante Arbeit!

Sherlock
Oliver
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 6     12 34     Letzte »    


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:04 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