![]() |
Datenbank: MySQL (Workbench) • Version: 5.1 • Zugriff über: MySQLConnection
Datenabfrage von Delphi via MySQL
Guten Morgen,
ich habe mit MySQL Workbench eine relationale Datenbank erstellt, Testdaten eingetragen und eine Verbindung in Delphi hergestellt - das klappt wunderbar. Nun möchte ich jedoch auch auf meine Testdaten zugreifen, ich weiß aber nicht wie. Als ich mit Paradox gearbeitet habe, habe ich dafür immer die DBGrid-Komponente benutzt, das wollte ich jetzt auch machen, wenn das möglich ist. Diese Komponente habe ich also auf meiner Form, dann die Verbindung zu MySQL (TSQLConnection), eine TDatenSource und eine TSQLQuery (Eigenschaften wie SQLConnection etc. sind eingestellt). Die DataSource-Eigenschaft von SQLQuery ist auf DataSource1 gestellt, jetzt kann ich jedoch die DataSet-Eigenschaft von DataSource nicht einstellen, sodass es einen Bruch gibt und keine Daten angezeigt werden. Aber wenn ich die DataSet-Eigenschaft auf SQLQuery1 stelle, bekomme ich die Meldung "Diese Operation ist bei einer unidirektionalen Datenmenge nicht gestattet". Ich habe also die falschen Komponenten verwendet, wenn ich das richtig sehe, nur welche brauche ich? mfg. |
Re: Datenabfrage von Delphi via MySQL
DataSource bei SQLQuery1 wieder rausnehmen (da kommt in diesem fall nix rein)
Delphi-Quellcode:
Dann klappt das auch, denn DBGrid1 <= DataSource1 <= SQLQuery1
DataSource1.DataSet := SQLQuery1;
btw. das ist beim Zugriff auf Paradox auch so gewesen ;) |
Re: Datenabfrage von Delphi via MySQL
Zitat:
Und sobald ich die DataSet-Eigenschaft von DataSource1 auf SQLQuery1 gestellt habe (natürlich als erstes) kann ich dann bei DataSource von SQLQuery nichts mehr einstellen. |
Re: Datenabfrage von Delphi via MySQL
Wenn ich mich recht entsinne, brauchst Du dazu ein ClientDataset. Näheres siehe
![]() |
Re: Datenabfrage von Delphi via MySQL
Ich habe die Komponenten TDataSetProvider und TClientDataSet mit eingebunden, hab aber gerade nicht die Zeit, die Verknüpfungen herzustellen, das werde ich später mal ausprobieren.
Funktioniert bei euch auch der Download-Link von dem aufgeführten Beispiel-Projekt nicht? Das hätte ich mir ja schon mal ganz gerne angeschaut... |
Re: Datenabfrage von Delphi via MySQL
Nicht auf den Link klicken, sondern den Text kopieren :zwinker: :
![]() |
Re: Datenabfrage von Delphi via MySQL
Ich habe mir das Beispielprojekt mal runtergeladen, aber es hilft mir nicht besonders weiter, weil ja erstens eine Table und keine SQL-Komponente verwendet wird und zweitens ich deswegen keine mit MySQL-Workbench erstellten Tabellen öffnen kann.
Ansonsten bin ich noch nicht weitergekommen. |
Re: Datenabfrage von Delphi via MySQL
Liste der Anhänge anzeigen (Anzahl: 1)
Auf Delphi-Treff habe ich, wenn ich das richtig sehe, genau das gefunden, wonach ich suchte:
![]() Direkt auf der Einleitungs-Seite jedoch wird von MySQL-Direct-Units gesprochen und das Problem ist, dass ich diese nicht finde - der Link von Sourceforge führt mich zum Download einer mit Delphi erstellten Anwendung, mit welcher ich eine Verbindung zur Datenbank aufbauen und mir Tabellen anzeigen lassen kann, und auf der Seite von solutions.mysql.com finde ich keine konkrete Download-Datei, die diese Units enthalten könnte. Sind die Links nicht mehr aktuell, bzw. bekomme ich die Units irgendwoanders her? Google hat nicht richtig helfen können, außer die im Anhang mitgeschickte Unit, wobei das auch nicht funktioniert, weil dafür noch andere Units benötigt werden... |
Re: Datenabfrage von Delphi via MySQL
Eine einfache Möglichkeit ist, über ODBC und ADO auf MYSQL zuzugreifen. Ist vielleicht von der Performance nicht das Optimum, aber relativ Stressfrei.
Liegt die MYSQL Datenbank auf einem Webserver, kann man z.B. eine Verbindung über Soap machen; dann also auf dem Client Soapconnection - Clientdataset - Datasource - DBGrid. Auf dem Server brauch man dann entsprechende Routinen, die die Daten in dem speziellen XML-Format liefern, die das Clientdataset versteht; auf einem Windows Server z.B. die HTTPSRVR.dll. Auf Linux kann man das mit einem PHP-Script hinbekommen. Gruß Ralf |
Re: Datenabfrage von Delphi via MySQL
Danke Neumann, das hört sich gut an. Ich weiß nur nicht recht, wie ich den Zugriff gestalten soll...
Wie ich gelesen habe, benutzt man ADO und ODBC parallel, weil sie sich gut ergänzen. Die ADO-Komponenten habe ich jetzt mit eingebunden (TADOConnection und TADOTable), aber wie funktioniert das mit ODBC? ![]() Und dann weiß ich immer noch nicht, wie ich die Verbindung herstellen tue... Das ist alles so kompliziert |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:21 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