AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi [MySQL] Besser Schnittstelle mit Anwendungen
Thema durchsuchen
Ansicht
Themen-Optionen

[MySQL] Besser Schnittstelle mit Anwendungen

Ein Thema von Yheeky · begonnen am 10. Mär 2009 · letzter Beitrag vom 10. Mär 2009
Antwort Antwort
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#1

[MySQL] Besser Schnittstelle mit Anwendungen

  Alt 10. Mär 2009, 10:54
Datenbank: MySQL • Zugriff über: Win32 Anwendung
Hi,

ich hatte schonmal vor längerer Zeit gefragt, ob es sowas wie LINQ (unter .NET) für Delphi gibt. Damals unter dem Aspekt "Sicherheit", welcher ja aber natürlich nicht gegeben ist bei einer Client-Anwendung. LINQ macht also nur unter ASP.NET Sinn...
Jetzt würde mich mal interessieren, ob es dennoch Funktionen gibt, die einem die Arbeit mit einer MySQL Schnittstelle einfacher machen. Z.B. erstelle ich in meiner Anwendung ein eigenes Objekt:
TAuto mit den Eigenschaften Modell, Marke und Baujahr. Eine Tabelle in der Datenbank enthält genau diese Daten...gibt es denn dann eine Funktion, wie ich die Objekte direkt in die Datenbank schieben kann bzw. sie von dieser holen kann? Das geht mit LINQ ja...im Moment mache ich es so, dass ich für jedes Objekt einzelne Funktionen schreibe, die das für mich machen, aber der Aufwand ist schon recht groß. Allein aus diesem Grund wäre es schon ein großer Vorteil, auf .NET umzusteigen, wenn das mit Delphi nicht gehen sollte...

Vielleicht hat ja jemand schonmal ein ähnliches Problem gehabt und kann mit mir ein bisschen drüber diskutieren
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: [MySQL] Besser Schnittstelle mit Anwendungen

  Alt 10. Mär 2009, 11:18
Du bräuchtset ein Persistenz FrameWork/ O/R-Mapper ( Bold, InstantObjects, tiOPF)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#3

Re: [MySQL] Besser Schnittstelle mit Anwendungen

  Alt 10. Mär 2009, 11:32
Eine etwas einfachere Methode wäre, dass Du Dir diese Schreib- und Lesefunktionen aus der Tabelle generierst.

Ich gehe davon aus, dass Du diese Methoden immer nach Schema F erzeugst, das bietet sich dann geradezu an, dies zu automatisieren. Du kannst ja mittels SQL die Tabellenbeschreibung abfragen, da hast Du alle nötigen Informationen zur Hand.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#4

Re: [MySQL] Besser Schnittstelle mit Anwendungen

  Alt 10. Mär 2009, 11:38
Zitat von Phoenix:
Eine etwas einfachere Methode wäre, dass Du Dir diese Schreib- und Lesefunktionen aus der Tabelle generierst.

Ich gehe davon aus, dass Du diese Methoden immer nach Schema F erzeugst, das bietet sich dann geradezu an, dies zu automatisieren. Du kannst ja mittels SQL die Tabellenbeschreibung abfragen, da hast Du alle nötigen Informationen zur Hand.
Der Ansatz klingt interessant, aber ich verstehe ihn nicht ganz *gg*. Kannst du ihn vielleicht etwas genauer ausführen?
Im Moment mache ich das wirklich so, dass die Funktionen vom Aufbau her sich wirklich sehr ähneln...
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#5

Re: [MySQL] Besser Schnittstelle mit Anwendungen

  Alt 10. Mär 2009, 11:50
Na, die Idee ist folgende:

Du erstellst ein Template mit Platzhaltern für Deine Funktion.
Mittels SQL (show tables, DESCRIBE tabellenname) kannst Du alle informationen über alle spalten in der Tabelle (Name, datentyp etc.) abfragen.

Mittels dieser Informationen kannst Du dann in der Vorlage für Deine Funktion die Spaltennamen und Datentypen durch eine Einfache textersetzung ausfüllen und hinten raus kommt dann z.B. für jede Tabelle eine Unit im Quellcode, die die für die aktuelle Tabelle generierte Funktionen enthält. Die packst Du in Dein Projekt und gut ist...
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#6

Re: [MySQL] Besser Schnittstelle mit Anwendungen

  Alt 10. Mär 2009, 12:22
Ich hatte vergessen zu erwähnen, dass ich aufgrund der Sicherheit die Funktionen in einer externen PHP-Datei aufrufe. Die Selects stehen nicht in meiner Client-Anwendung. Du meintest doch das Zusammenbasteln des SELECT, UPDATE oder DELETE oder?
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#7

Re: [MySQL] Besser Schnittstelle mit Anwendungen

  Alt 10. Mär 2009, 12:25
Zitat von Yheeky:
Sprache: Delphi (Win32)
Datenbank: MySQL, Zugriff über: Win32 Anwendung
Zitat von Yheeky:
Ich hatte vergessen zu erwähnen, dass ich aufgrund der Sicherheit die Funktionen in einer externen PHP-Datei aufrufe.


Aber von mir aus kannst Du auch den wie auch immer gearteten Aufruf in eine PHP Datei generieren...
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#8

Re: [MySQL] Besser Schnittstelle mit Anwendungen

  Alt 10. Mär 2009, 13:17
Ja, hab ich mich vielleicht unglücklich ausgedrückt. Ich spreche über meine Win32-Anwendung eine PHP-Datei an, die dann mit der DB kommuniziert. Meine Anwendung wertet dann aus.
Danke für deinen Ansatz, dem werde ich mal nachgehen...
  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 06:45 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