AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MainMenü+combobox in dbgrid öffnen

Ein Thema von Justin · begonnen am 25. Jan 2017 · letzter Beitrag vom 26. Jan 2017
 
nahpets
(Gast)

n/a Beiträge
 
#5

AW: MainMenü+combobox in dbgrid öffnen

  Alt 25. Jan 2017, 16:13
P.S.
ich empfehle in solchen Fällen immer die Abfrage der entsprechenden System-Views oder Aliasse z.B. ALL_TABLES in Oracle
http://www.java2s.com/Tutorial/Oracl...Dictionary.htm
Das sehe ich nicht so, wenn ich mit ADO arbeite, dann bekomme ich mit GetTableNames die Tabellennamen aus der Datenbank. Dabei ist es egal, ob es nun Oracle, Firebird, MSSQL, Postgres, Ingres, Access ... oder was weiß ich ist.

Durch das Ändern der Datenbankverbindung funktioniert das mit jeder Datenbank, auf die ich über ADO zugreifen kann.
Andernfalls brauch' ich für jede Datenbank 'ne "Sonderlocke" und eine Datenbankunabhängigkeit geht recht schnell "den Bach runter".

@rokli
Delphi-Quellcode:
if ADOconnection1.Connected then // ist die Datenbankverbindung aktiv?
   ADOconnection1.GetTableNames(combobox1.Items,false); // Dann die Tabellennamen (ohne die Systemtabellen) holen.
   // Sie befinden sich dann in der Combobox.
   y:=combobox1.Items.count; // Wieviel Tabellen haben wir bekommen?
for i := 0 to y-1 do begin // Einmal für jede Tabelle:
  tab:=TMenuItem.create(MainMenu1); // Neuen Menüeintrag anlegen.
  MainMenu1.items[2].add(tab); // Den den Menüeintrag 2 des Hauptmenüs als untergeorneten Menüpunkt zuordnen.
  tab.caption:=combobox1.items[i]; // Der gerade erstellte Menüunterpunkt bekommt den TAbellennamen als Beschriftung
  tab.tag:=i; // Dem Tag weisen wir die Index der Tabelle in der Combobox zu.
  tab.OnClick:=erra1click; // Der neue Menüeintag bekommt eine Ereignisroutine zugewiesen.
  // Ob hier die Zuweisung des Ereignisses, mit dem die Erstellung des Menüeintrages erfolgt, sinnvoll ist, darf allerdings bezweifelt werden ;-)
end;
Es wird also schlicht ein Untermenü erstellt, dass für jede Tabelle der Datenbank einen Menüeintrag enthält. Und die Menüeinträge bekommen halt auch eine OnClick-Ereignis zugewiesen. (Mit dem ein Untermenü erstellt wird, dass für ... zugewiesen. (Mit dem ... ))

Aber mit einer anderen OnClick-Methode wird das recht schnell durchaus sinnvoll.
  Mit Zitat antworten Zitat
 


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 10:39 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