Autor Beitrag
dkx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Mi 29.09.04 16:37 
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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Mi 29.09.04 20:34 
Also die SQL-Anweisung ist eigentlich schon so simpel wie irgendwie möglich...:

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 29.09.04 20:40 
Ich gestehe ein, dass ich die SQLQuery-Komponente nicht kenne.

Ändere mal das Statement wie folgt:
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Do 30.09.04 08:19 
Ich bin ja so ein Idiot.
Setz doch mal unidirectional in der SQLQuery-Komponente auf False.
dkx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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 ??? :?!?: