![]() |
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:
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.
procedure TForm1.Button1Click(Sender: TObject);
begin IBQuery1.SQL.Clear; IBQuery1.SQL.Add('SELECT * FROM adresse ORDER BY vorname'); IBQuery1.Open; DBGrid.Refresh end; 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 |
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). |
Re: SQL-Query, Ergebnisse in DBGrid darstellen?
Zitat:
|
Re: SQL-Query, Ergebnisse in DBGrid darstellen?
Also das IBQuery1.Close verändert im Verhalten nichts.
Zitat:
|
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.
|
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:
So sollte das doch funktionieren
procedure TForm1.Button1Click(Sender: TObject);
begin IBQuery1.Close IBQuery1.SQL.Clear; IBQuery1.SQL.Add('SELECT VORNAME FROM ADRESSEN'); IBQuery1.Open; end; Greets |
Re: SQL-Query, Ergebnisse in DBGrid darstellen?
Zitat:
|
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 :) |
Re: SQL-Query, Ergebnisse in DBGrid darstellen?
Geht die DataSource nicht an die Query?
|
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 07:45 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