Autor Téma: Nástroj na získanie názvov a polí tabuliek  (Přečteno 416 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 3526
  • Karma: 35
    • Verze Delphi: XE7 professional
Nástroj na získanie názvov a polí tabuliek
« kdy: 20-03-2018, 08:02:57 »
Je nejaký free nástroj na získanie prostého zoznamu tabuliek s ich poliami? Nič iné.
EMS DB manger to neumožňuje. Má tam plno balastu a nedá sa to odfiltrovať. Mne by jeho tvorba trvala aspoň týždeň.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 3526
  • Karma: 35
    • Verze Delphi: XE7 professional
Re:Nástroj na získanie názvov a polí tabuliek
« Odpověď #1 kdy: 20-03-2018, 08:27:29 »
Jedna cesta je
Kód: [Vybrat]
select f.rdb$relation_name, f.rdb$field_name
from rdb$relation_fields f
join rdb$relations r
on f.rdb$relation_name = r.rdb$relation_name
and r.rdb$view_blr is null and (r.rdb$system_flag is null or r.rdb$system_flag = 0)
order by 1, f.rdb$field_position;
Hruška hanbi sa. Najprv použi internet a potom sa pýtaj.
Ale otázka stále platí.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Online Delfin

  • Guru
  • *****
  • Příspěvků: 1214
  • Karma: 53
  • SW konzultant
    • Verze Delphi: 2009, Tokyo
Re:Nástroj na získanie názvov a polí tabuliek
« Odpověď #2 kdy: 20-03-2018, 09:32:59 »
Nechce se mi verit ze by to ten EMS manager neumel. Nicmene, pokud mas specificke potreby, muzes si ho i vyrobit :)

Jednoduchy recept:

- 1 ks - TFDConnection
- 1 ks - TFDPhysFBDriverLink
- 2 ks - TListBox

Vsechny komponenty vlozime na formular a po zamichani nakonfigurujeme TFDConnection pro Firebird RDBMS, cimz se propoji s komponentou fyzickeho ovladace. Pak uz staci jen napr. v handleru udalosti OnCreate formulare vyptat seznam tabulek, napr.:

Kód: Delphi [Vybrat]
  1. procedure TForm1.FormCreate(Sender: TObject);
  2. begin
  3.   FDConnection1.GetTableNames('', '', '', ListBox1.Items, [osMy], [tkTable]);
  4. end;

A napsat handler udalosti kliknuti na item list boxu OnClick:

Kód: Delphi [Vybrat]
  1. procedure TForm1.ListBox1Click(Sender: TObject);
  2. begin
  3.   FDConnection1.GetFieldNames('', '', ListBox1.Items[ListBox1.ItemIndex], '', ListBox2.Items);
  4. end;
I'm a soldier, so don't panic! I know the underground! I like WTFPL license! No more Google, go duck, go!

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 3526
  • Karma: 35
    • Verze Delphi: XE7 professional
Re:Nástroj na získanie názvov a polí tabuliek
« Odpověď #3 kdy: 20-03-2018, 09:44:34 »
To radšej použijem to SQL hore + FastReport :) Tam si nahodím viac stĺpcov.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 3526
  • Karma: 35
    • Verze Delphi: XE7 professional
Re:Nástroj na získanie názvov a polí tabuliek
« Odpověď #4 kdy: 20-03-2018, 11:28:43 »
Citace
Nechce se mi verit ze by to ten EMS manager neumel.
Niekedy mi autori EMS pripadajú ako totálni amatéri. Tu som dal voľbu tlačiť iba Fields/Parems a on vytlačí
  • Fields/Parems
  • Primary and unique keys
  • Foreing keys
  • Descrioption
  • DDL
Každú tabuľku začína na novej strane. Vygeneroval 108 strán. Keď som si to urobil ručne, tak to mám vo Worde pri piatich stĺpcoch na 3 stranách. Prikladám ukážku strany z EMS. Veď by mi to zožralo všetok toner.
A takýchto kiksov majú požehnane >:(  Napr. kopa volieb, ktoré sa nijako neprejavia a hlavne nedokonalé vykresľovanie aplikácie. Ja im to raz pošlem.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Upozornění: do tohoto tématu bylo naposledy přispěno před 120 dny.
Zvažte prosím založení nového tématu.

Jméno: E-mail:
Ověření:
Datový typ v Delphi, který má True a False: