AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenabfrage von Delphi via MySQL
Thema durchsuchen
Ansicht
Themen-Optionen

Datenabfrage von Delphi via MySQL

Ein Thema von Mysterio08 · begonnen am 29. Mai 2010 · letzter Beitrag vom 31. Mai 2010
Antwort Antwort
Seite 1 von 2  1 2      
Mysterio08

Registriert seit: 11. Jan 2009
142 Beiträge
 
#1

Datenabfrage von Delphi via MySQL

  Alt 29. Mai 2010, 11:01
Datenbank: MySQL (Workbench) • Version: 5.1 • Zugriff über: MySQLConnection
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.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

Re: Datenabfrage von Delphi via MySQL

  Alt 29. Mai 2010, 11:44
DataSource bei SQLQuery1 wieder rausnehmen (da kommt in diesem fall nix rein)

DataSource1.DataSet := SQLQuery1; Dann klappt das auch, denn DBGrid1 <= DataSource1 <= SQLQuery1

btw. das ist beim Zugriff auf Paradox auch so gewesen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Mysterio08

Registriert seit: 11. Jan 2009
142 Beiträge
 
#3

Re: Datenabfrage von Delphi via MySQL

  Alt 29. Mai 2010, 13:07
Zitat von Sir Rufo:
Dann klappt das auch, denn DBGrid1 <= DataSource1 <= SQLQuery1
Wenn ich das richtig verstanden habe: bei DBGrid die DataSource-Eigenschaft auf "DataSource1" stellen? Das klappt nämlich nicht, sobald ich dies tue, erscheint wieder die Meldung "Diese Operation ist bei einer unidirektionalen Datenmenge nicht gestattet".

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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

Re: Datenabfrage von Delphi via MySQL

  Alt 29. Mai 2010, 13:17
Wenn ich mich recht entsinne, brauchst Du dazu ein ClientDataset. Näheres siehe hier.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Mysterio08

Registriert seit: 11. Jan 2009
142 Beiträge
 
#5

Re: Datenabfrage von Delphi via MySQL

  Alt 29. Mai 2010, 13:47
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...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#6

Re: Datenabfrage von Delphi via MySQL

  Alt 29. Mai 2010, 13:49
Nicht auf den Link klicken, sondern den Text kopieren :http://cc.embarcadero.com/item/18306
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Mysterio08

Registriert seit: 11. Jan 2009
142 Beiträge
 
#7

Re: Datenabfrage von Delphi via MySQL

  Alt 29. Mai 2010, 18:01
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.
  Mit Zitat antworten Zitat
Mysterio08

Registriert seit: 11. Jan 2009
142 Beiträge
 
#8

Re: Datenabfrage von Delphi via MySQL

  Alt 29. Mai 2010, 19:18
Auf Delphi-Treff habe ich, wenn ich das richtig sehe, genau das gefunden, wonach ich suchte: DT-Tutorial.
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...
Angehängte Dateien
Dateityp: pas mysql_direct_417.pas (23,3 KB, 12x aufgerufen)
  Mit Zitat antworten Zitat
Neumann

Registriert seit: 6. Feb 2006
Ort: Moers
536 Beiträge
 
Delphi 12 Athens
 
#9

Re: Datenabfrage von Delphi via MySQL

  Alt 29. Mai 2010, 22:20
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
Ralf
  Mit Zitat antworten Zitat
Mysterio08

Registriert seit: 11. Jan 2009
142 Beiträge
 
#10

Re: Datenabfrage von Delphi via MySQL

  Alt 30. Mai 2010, 10:09
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? Hier habe ich was von MyDAC-Komponenten gelesen, benötige ich die, wenn ich ODBC verwende, bzw. benötige ich extra Komponenten dafür und wenn ja welche?

Und dann weiß ich immer noch nicht, wie ich die Verbindung herstellen tue...

Das ist alles so kompliziert
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:15 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