![]() |
Datenbank: mysql • Version: 4 • Zugriff über: mydac
Wo steckt das Ergebnis des MyQuery ?
Hallo!
Nach einigem Hin- und Her bekomme ich einen externen connect auf meine Datenbank. Ihr müsst mir verzeihen - ich hab noch nie mit den mydac komponenten gearbeitet. Ich habe genau mydac 2 symbole auf der Form: - myconnection - myquery Nach erfolgreicher connection wird folgender code ausgeführt:
Delphi-Quellcode:
Im Beispieldemo der mydac Komponenten führe ich das gleiche Query aus, es wird auch "Hans" in einem DB Grid angezeigt. (Die Tabelle hat nur einen Datensatz)
try
MyQuery.Open; MyQuery.SQL.Text := 'select vorname from usertabelle'; MyQuery.Execute; Except showmessage('query fehler'); end; Nun frage ich mich: wo steckt der Rückgabewert des querys? Also die Ausgabe "Hans" im DBGrid1 kann ich nirgends finden. Ich hab das DBGrid auch mal gelöscht um eine Fehlermeldung zu provozieren, damit ich die Stelle entdecke wo der Hans in das DBGrid geschrieben wird. Ergebnis: kein Motzen oder Meckern. Das Query wird halt ohne das DBGrid ausgeführt. *grrrr* Ich kann zwar bei MyQueryAfterExecute den boolean Result abfragen, aber wo steckt der Hans? Kann mir das einer erläutern? :) |
Re: Wo steckt das Ergebnis des MyQuery ?
Nicht Execute, sondern Open aufrufen, wenn Datenmengen zurückgeliefert werden.
|
Re: Wo steckt das Ergebnis des MyQuery ?
Und wie kann ich die Datenmenge visualisieren? Z.b. eine showmessage(dasErgebnis);
|
Re: Wo steckt das Ergebnis des MyQuery ?
einzelne Felder kannst du besipielsweise so auslesen:
Showmessage(Query.FieldByName('Feldname').AsString ); |
Re: Wo steckt das Ergebnis des MyQuery ?
Hmm dann kommt ein Fehler: Das Feld 'vorname' wurde nicht gefunden, obwohl es eindeutig existiert.
So sieht die Beispieltabelle aus: user_id | vorname | nachname ---1----|--hans---|--meier-- Meine Form hat ein editfeld indem der user seinen vornamen eingibt. Dann wird online überprüft ob es den user gibt. Deshalb brauch ich als Rückgabewert z.B. den Hans. |
Re: Wo steckt das Ergebnis des MyQuery ?
Oder eine Datasource auf dein Form legen und mit deinem Query über die Dataset Eigenschaft verknüpfen. Die Datasource Komponente stellt das Verbindungsstück zwischen deiner Query und den datensensitiven visuellen Komponenten dar. Das sind die Komponenten unter der "Data Controls" Palette, also so Dinge wie TDBEdit, TDBGrid usw. Alle haben sie gemein, dass Du sie an eine Datasource knüpfen kannst. Die meisten verfügen weiterhin noch über die Eigenschaft Datafield. Die Visualisierung erfolgt dann ganz automatisch.
|
Re: Wo steckt das Ergebnis des MyQuery ?
Hey Super, in meinem DBGrid steht nun der Hans !!
Ist das nicht umständlich ein DBGrid auf die Form zu legen nur um einen Wert abzufragen? Naja aber immerhin hab ich den Burschen endlich :-) Vielen Dank dafür! |
Re: Wo steckt das Ergebnis des MyQuery ?
Für einen Wert brauchst du nicht unbedingt ein Grid. Es gibt auch andere Anzeige-Komponenten oder du holst das Ergebnis direkt aus dem Query (.FieldByName().Value)
|
Re: Wo steckt das Ergebnis des MyQuery ?
Hallo,
zeig doch noch mal deinen Code, der das "Vorname" nicht gefunden erzeugt hat. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:46 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