Entwickler-Ecke
Datenbanken - DBGrid + Mysql
dkx - Mi 29.09.04 16:37
Titel: DBGrid + Mysql
Ich versuche jetzt schon seit Stunden meine MySQL-Tabellen über ein DBGrid anzeigen zu lassen - ohne Erfolg.
Also, mit einer SQLConnection baue ich die Verbindung auf und mit SQLQuery sende ich SQL-Anfragen.
Nun habe ich die Komponenten DBGrid1 und DataSource1 hinzugefügt und folgende Eigenschaften gesetzt:
---
DataSource1:
Dataset = SQLQuery
---
DBGrid1:
DataSource = DataSource1
Wenn ich nun eine SELECT-Anfrage mit SQLQuery sende (also während der Programmlaufzeit), dann kommt eine Fehlermeldung:
"Diese Operation ist bei einer unidirektionalen Datenmenge nicht gestattet."
Ich schaffe es einfach nicht die Daten im DBGrid anzuzeigen :-(
Was mache ich nun falsch?
Anton
jasocul - Mi 29.09.04 16:46
Ich vermute eine "fehlerhafte" SQL-Anweisung. Versuche mal ein ganz einfaches Select (select * from Tabelle).
Sollte der Fehler bleiben, dann zeig doch mal ein bisschen Source.
dkx - Mi 29.09.04 20:34
Also die SQL-Anweisung ist eigentlich schon so simpel wie irgendwie möglich...:
Delphi-Quelltext
1:
| SQLQuery1.SQL.Text:='Select * from `anton`;'; |
Liegt das Problem evt. daran, dass die SQLQuery Komponente nicht mit DataSource zusammenarbeitet?
Weil in einigen Beispielen wurde die normale TQuery-Komponente verwendet.
Anton
jasocul - Mi 29.09.04 20:40
Ich gestehe ein, dass ich die SQLQuery-Komponente nicht kenne.
Ändere mal das Statement wie folgt:
Quelltext
1:
| SQLQuery1.SQL.Text:='Select * from anton;'; |
Wenn das nicht funktioniert, lass auch noch das Semikolon
in der Anweisung weg.
Ich benutze überwiegend Oracle. Dort wird der Delimiter in einfachen SQL-Abfragen nicht verwendet.
dkx - Mi 29.09.04 22:39
das ändert leider auch nichts.
ich hab wie gesagt schon mit der SQLQuery Komponente und SQLConnection gearbeitet, allerdings habe ich die Daten immer nur im StringGrid anzeigen lassen. Jetzt plane ich jedoch ein Projekt, bei dem ich mir das DBGrid besser vorstellen könnte, da mir dies nicht nur als eleganter erscheint, sondern man bei dieser Komponente auch in einzelnen Zellen einfach die Werte ändern kann - gibt es sonst eine StringGridähnliche Komponente die das kann?
jasocul - Do 30.09.04 08:19
Ich bin ja so ein Idiot.
Setz doch mal unidirectional in der SQLQuery-Komponente auf False.
dkx - Do 30.09.04 14:25
da finde ich leider keine Einstellung im Objekt-Inspektor wo ich das einstellen könnte. Wo macht man das?
jasocul - Do 30.09.04 14:30
Ich habe hier die Komponente SQLQuery nicht zur Hand, aber verwende zwei andere Query-Komponenten. Bei denen geht das im OI.
Kannst du das vielleicht direkt im Source einstellen (vor dem Open)?
Kennt hier sonst noch jemand die Komponente ??? :?!?:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!