AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Tabellen Anzeige in DBGrid0 + Inhalt Tabellen in DBGrid1
Thema durchsuchen
Ansicht
Themen-Optionen

Tabellen Anzeige in DBGrid0 + Inhalt Tabellen in DBGrid1

Ein Thema von Kratos · begonnen am 28. Okt 2019 · letzter Beitrag vom 29. Okt 2019
Antwort Antwort
Kratos

Registriert seit: 15. Okt 2019
52 Beiträge
 
Delphi 10.3 Rio
 
#1

Tabellen Anzeige in DBGrid0 + Inhalt Tabellen in DBGrid1

  Alt 28. Okt 2019, 15:40
Delphi-Version: 10.2 Tokyo
Moin Leute,
*delphi-Newbie*

ich hab jetzt lange das Forum durchsucht, konnte aber zu meinem Problem nichts finden. Vielleicht bin ich auch nur blind^^

Nun denn,
ich hab
Code:
DataBase0(TIBDataBase), Transaction0(TIBTransaction), qry0(TIBQuery), DataSource0(TDataSource)
                                                      qry1(TIBQuery), DataSource1(TDataSource)
DBGrid0, DBGrid1
Ich hab meine Firebird Datenbank angebunden und die Tabellennamen erscheinen, wie sie sollen, im DBGrid0. Funktioniert also bis hier hin.
Nun möchte ich auf eine der angezeigten Tabellen in DBGrid0 klicken und die Datensätze der geklickten Tabelle sollen in DBGrid1 erscheinen.
Jedoch weiß ich nicht so recht wie das gehen soll.
Ich hab bei qry1 als DataSource die DataSource0 gesetzt. Und bei DataSource1 hab ich als DataSet die qry1 gesetzt.
Dann hab ich ein OnCellClick auf DBGrid0 erzeugt. Ich weiß allerdings nicht wie ich eine unbekannte Zeile in DBGrid0 anspreche.

Vermutlich ist das Problem sehr einfach zu lösen.
Ich hoffe ihr versteh meine Problemerläuterung und könnt mir weiterhelfen^^

Gru0
Kratos


EDIT:
dataset.fieldbyname('feldname').asirgendwas Ist das des Rätsels Lösung?
Ich probiere es gleich mal.

EDIT2:
Ich scheine immer noch etwas falsch zu machen.
Code:
procedure TForm5.DBGrid0CellClick(Column: TColumn);
begin
    qry0.Active := False;
    qry1.Active := False;
    qry1.SQL.Text := 'SELECT * FROM ' + qry1.Fields.Fields[index].Value;
    qry1.Active := True;
end;
Fehler: qry1: Listenindex außerhalb des gültigen Bereichs (0)

Geändert von Kratos (28. Okt 2019 um 16:13 Uhr)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: Tabellen Anzeige in DBGrid0 + Inhalt Tabellen in DBGrid1

  Alt 28. Okt 2019, 16:22
qry0 liefert ja die Tabellennamen, deshalb darfst du sie schon mal nicht schließen!
und dann musst du natürlich den Tabellennamen aus qry0 auch nehmen und nicht den aus 1:

Delphi-Quellcode:
procedure TForm5.DBGrid0CellClick(Column: TColumn);
begin
    //qry0.Active := False;
    qry1.Active := False;
    qry1.SQL.Text := 'SELECT * FROM ' + qry0.Fields.Fields[index].Value;
    qry1.Active := True;
end;
Ich ging mal davon aus das index das richtige Feld meint? Wenn du das SQL-Statement von qry0 zeigen würdest könnte man es genauer sagen.
So ist evtl. besser:

qry1.SQL.Text := 'SELECT * FROM ' + qry0.FieldByName('Tabellenname').AsString;
Ralph
  Mit Zitat antworten Zitat
Kratos

Registriert seit: 15. Okt 2019
52 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Tabellen Anzeige in DBGrid0 + Inhalt Tabellen in DBGrid1

  Alt 28. Okt 2019, 16:33
Vielen Dank für deine Hilfe!

Die zwei Schusselfehler habe ich beseitigt.
Allerdings kommt jetzt folgende Fehlermeldung:
Datenbank ist nicht zugewiesen Aber wie kann das denn sein?


qry0.SQL.Text
qry0.SQL.Text := 'SELECT RDB$RELATION_NAME AS TABLENAMES FROM RDB$RELATIONS WHERE RDB$SYSTEM_FLAG=0'; zeigt mir alle Tabellen einer Firebird Datenbank an. Das klappt auch wunderbar.

qry1.SQL.Text := 'SELECT * FROM ' + qry0.FieldByName('Tabellenname').AsString; Würde das nicht voraussetzen, dass das DBGrid weiß, welche Tabelle ich anklicke?
btw, hab ich das natürlich versucht und 'Tabellenname' durch einen Tabellenname aus meiner Datenbank ausgetauscht.
Leider kam jedes mal folgende Fehlermeldung: qry0: Das Feld 'blablabla' wurde nicht gefunden.

Geändert von Kratos (28. Okt 2019 um 16:46 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.442 Beiträge
 
Delphi 12 Athens
 
#4

AW: Tabellen Anzeige in DBGrid0 + Inhalt Tabellen in DBGrid1

  Alt 28. Okt 2019, 16:55
Wenn du das Feld in der qry0 schon explizit TABLENAMES nennst, dann musst du auch qry1.SQL.Text := 'SELECT * FROM ' + qry0.FieldByName('TABLENAMES').AsString; schreiben.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Kratos

Registriert seit: 15. Okt 2019
52 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Tabellen Anzeige in DBGrid0 + Inhalt Tabellen in DBGrid1

  Alt 28. Okt 2019, 17:02
@Uwe Raabe

Dankeschön für deine Hilfe. Deine Erklärung ist durchaus logisch ^^
Ich bekomme leider immernoch diese Fehlermeldung:
Datenbank ist nicht zugewiesen Ich hab jetzt 8 STunden delphi hinter mir. Ich penn jetzt eine Runde und versuch morgen diesen Fehler zu finden.
Wenn ich fragen habe, melde ich mich nocheinmal.


Noch einmal vielen Dank ihr zwei!

Gruß
Kratos
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#6

AW: Tabellen Anzeige in DBGrid0 + Inhalt Tabellen in DBGrid1

  Alt 28. Okt 2019, 17:33
Haben beide Queries auch die (gleiche) DB Connection zugewiesen?
Gruß, Jo
  Mit Zitat antworten Zitat
Kratos

Registriert seit: 15. Okt 2019
52 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Tabellen Anzeige in DBGrid0 + Inhalt Tabellen in DBGrid1

  Alt 29. Okt 2019, 08:18
Moin Leute,

@jobo
Ja, das war richtig zugewiesen. Ich Trollo hatte aber dem DBGrid1 die falsche DataSource zugewiesen.
Jetzt klappt alles so wie ich das möchte.

Ich bedanke mich nochmal bei allen für die Unterstützung!

Viele Grüße
Kratos
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:36 Uhr.
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