Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL-Query, Ergebnisse in DBGrid darstellen? (https://www.delphipraxis.net/51252-sql-query-ergebnisse-dbgrid-darstellen.html)

theBlind 9. Aug 2005 09:26

Datenbank: InterBase • Version: 6.x • Zugriff über: SQL Query

SQL-Query, Ergebnisse in DBGrid darstellen?
 
Hallo erstmal.

Also, ich will eine SQL query an meine IB Datenbank senden und die Ergebnisse dann in einem DBGrid darstellen. Ich hab die Datenbank schon an meinem Frontend angeschlossen (Also DataModule mit IBDatabase, IBTransaction, IBDataSet und DataSource <- das sind auch die Namen)
Dann hab ich eine IBQuery1, deren DataBase, DataSource und Transaction eingestellt sind.
Ein DBGrid ist auch vorhanden, das zeigt mir auch alle Daten aus der Datenbank an.

Meine Idee war, einen Button zu platzieren und im onClick Ereignis folgenden code zu verwenden:

Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
     IBQuery1.SQL.Clear;
     IBQuery1.SQL.Add('SELECT * FROM adresse ORDER BY vorname');
     IBQuery1.Open;
     DBGrid.Refresh
end;
Tut aber nicht :( EDIT: D.h. es gibt die Ergebnisse nicht in das DBGrid aus, dort sind noch immer die "alten" Daten, die beim öffnen des Frames aus der DB gelesen wurden.


Ich gehe mal davon aus, das meine Frage recht standart ist. Ich arbeite aber erst seit weniger als einer Woche mit Delphi/Interbase und muss das wegen meines Praxissemesters ziemlich crashkursmässig lernen und dazu auch ohne Ansprechpartner (Stelle wurde gestrichen...)
Sprecht bei der Antwort bitte laut und deutlich und geht einfach davon aus, das ich ein wenig doof bin, dann passt das schon :)


-theBlind

Sharky 9. Aug 2005 09:29

Re: SQL-Query, Ergebnisse in DBGrid darstellen?
 
Hai theBlind,

versuche doch einfach mal vor dem neu setzen des SQL-Kommandos ein IBQuery1.Close (also vor deinem SQL.Clear).

Jelly 9. Aug 2005 09:55

Re: SQL-Query, Ergebnisse in DBGrid darstellen?
 
Zitat:

Zitat von theBlind
Tut aber nicht :(

WAS tut nicht :?:

theBlind 9. Aug 2005 10:03

Re: SQL-Query, Ergebnisse in DBGrid darstellen?
 
Also das IBQuery1.Close verändert im Verhalten nichts.

Zitat:

Tut nicht
Sorry für die unklarheit. Es gibt die Suchergebnisse nicht in dem DBGrid aus. Der Befehl wird, glaube ich, ausgeführt. Das Programm stürzt auch nicht ab oder so was.

Jelly 9. Aug 2005 10:06

Re: SQL-Query, Ergebnisse in DBGrid darstellen?
 
Hab ich das oben richtig gelesen, dass du die Eigenschaft Datasource von deiner IBQuery gesetzt hast? Lass die mal weg. Es reicht aus die Eigenschaft Dataset von deiner TDatasource zu setzen.

Luciano 9. Aug 2005 10:09

Re: SQL-Query, Ergebnisse in DBGrid darstellen?
 
Hi,

Ich kenen die IBQuery nicht aber vielleicht änderst du mal deine SQL-Abfrage, vielleivht fragst du 2 mal das gleiche ab. SELECT VORNMAE FROM ADRESSEN <-- was macht er dann?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
     IBQuery1.Close
     IBQuery1.SQL.Clear;
     IBQuery1.SQL.Add('SELECT VORNAME FROM ADRESSEN');
     IBQuery1.Open;
end;
So sollte das doch funktionieren

Greets

r_kerber 9. Aug 2005 12:10

Re: SQL-Query, Ergebnisse in DBGrid darstellen?
 
Zitat:

Zitat von theBlind
Dann hab ich eine IBQuery1, deren DataBase, DataSource und Transaction eingestellt sind.
Ein DBGrid ist auch vorhanden, das zeigt mir auch alle Daten aus der Datenbank an.

Das könnte der Fehler sein. Womit ist das DBGrid verbunden? Und in der IBQuery sollte nicht die DataSource eingestellt sondern umgekehrt in der DataSource sollte auf die IBQuery bezogen werden. Und das DBGrid sollte dann auf die DataSource zeigen

theBlind 9. Aug 2005 13:23

Re: SQL-Query, Ergebnisse in DBGrid darstellen?
 
Das DBGrid hat jetzt als DataSource DataSource, die IBQuery hat als DataBase DataBase, DataSource ist leer.

Die DataSource hängt an IBDataSet und das teilt sich mit zwei anderen IBDataSets eine IBTransaction, die wiederum an IBDataBase hängt. Bei IBDataBase ist IBTransaction als default transaction eingetragen.

Das setup funktioniert so wie es ist, wenn ich daten verändern, schreiben, lesen will. Was mir eigentlich irgendwie fehlt ist das ich das DBGrid auf die Ergebnistable des Query setzen kann.

Danke für die Vorschläge, bitte weiterschlagen :)

r_kerber 9. Aug 2005 14:38

Re: SQL-Query, Ergebnisse in DBGrid darstellen?
 
Geht die DataSource nicht an die Query?

theBlind 9. Aug 2005 15:33

Re: SQL-Query, Ergebnisse in DBGrid darstellen?
 
DataSource hat bei mir im ObjektInspektor die Felder
-AutoEdit
-DataSet
-Enabled
-Name
-Tag
Wie "geht die an die query"?

Die IBQuery hat bei DataSource nichts eingetragen, wie mir empfohlen wurde.

Active: false
Params und SQL leer

Wenn ich auf Generator Field gehe kommt leere SQL Anweisung, aber das hab ich als nicht schlimm empfunden, da die Anweisung ja leer ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:26 Uhr.
Seite 1 von 2  1 2      

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