Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
No nič, takže ešte raz: TfrmMain.DatabaseBeforeConnect(Sender: TObject): Database.Session.NetFileDi…
msx. 14.05.2007 12:41
msx.
1. Místo do TfrmMain.DatabaseBeforeConnect to klidně prdni do FormCreate. 2. U TQuery to je celkem…
Rce 14.05.2007 13:48
Rce
RCE, ďakujem!!! Točil som sa okolo správneho riešenia ako prd v gaťách a toto ma nenapadlo. Posielam…
msx. 14.05.2007 22:43
msx.
prečo JaFi radil aj úpravu v Query Taky je to jedna z možností :-). Protože v BDE je databází adres…
Rce 14.05.2007 23:16
Rce
JaFi radil Database ke Query, abys nemusel vypisovat cestu, k adresari. Tu si nastavis na jednom mis…
Jan Fiala 15.05.2007 06:48
Jan Fiala
To RCE: Aliasy? Fůj. Všechno můžeš natavit v TDatabase (...) Jj. Vím, vím. Přes aliasy je to trošku… poslední
Rce 16.05.2007 23:03
Rce

No nič, takže ešte raz:

TfrmMain.DatabaseBeforeConnect(Sender: TObject):
Database.Session.NetFileDir := PrgPath + DBDir;
Database.Session.PrivateDir := PrgPath + DBDir;

TfrmMain.FormCreate(Sender: TObject):
Query.Database := ??? <- čo priradiť sem? je to vlastnosť len na čítanie, čo s tým?
Query.DatabaseName := PrgPath + DBDir;

1. Místo do TfrmMain.DatabaseBeforeConnect to klidně prdni do FormCreate.

2. U TQuery to je celkem fuk, nemusíš tam dávat nic, jestliže v SQL příkazu uvedeš celou cestu k tabulce(tabulkám) Tedy: TQUery.Database nedávat nic (správně tam ani nic nejde dát). Do TQuery.DatabaseName taky klidně nic (a tabulky určit celou cestou). Když už něco, tak cestu k hlavním datům. Lze zde také zadat Alias dat, který nastavíš v BDE Administratoru.

V tom mým modulu je to trošku komplikovanější, protože ten zjišťuje, jestli existuje Alias databáze z BDE Administratoru (aby fungovalo napojení třeba na jiné databáze než BDE). Když takový nenalezne, vytvoří si dočasný Alias na vlastní triko na nastavenou cestu dat ze spuštění programu :-).

prečo JaFi radil aj úpravu v Query

Taky je to jedna z možností :-). Protože v BDE je databází adresář, lze to obojím způsobem. Kdybys to ale přes BDE Admin připojil třeba na Oracle, nevystačíš si už jen s jednoduchou cestou k datům (ani jí nebudeš vědět), ale musíš to napojovat přes Alias databáze ;-).

PS: V DatabaseBeforeConnect je už pozdě na nastavování dat, tato událost je určena k ošetření uživatelského jména a hesla k databázi.

JaFi radil Database ke Query, abys nemusel vypisovat cestu, k adresari.
Tu si nastavis na jednom miste - v TDatabase.

Predstav si, ze budes mit program, ktery bude mit data pro jednlive roky ulozneny v jednotlivych adresarich. Co je jednodussi pri prepnuti roku? Nastavit cestu na jednom miste v TDatabase nebo to osetrovat pro kazdou komponentu, ktra k datum pristupuje?

To RCE: Aliasy? Fůj. Všechno můžeš natavit v TDatabase a jejich parametrech a to i programově. Být zavislý na Aliasu, který ti může kdokoliv zlikvidovat... A navíc bys jej musel nastavovat na všech stanicích...

To RCE: Aliasy? Fůj. Všechno můžeš natavit v TDatabase (...)

Jj. Vím, vím. Přes aliasy je to trošku nezávislejší na prostředí. Můžu (teda kdybych náhodou někdy chtěl :))) to napojit jak na MQSQL, tak i na MySQL... I když na to raději používám ADO, než BDE :)). Jeden můj program při nastavování databází programově nádherně všem odstřelil InfoMapu :-D:-D. BTW přes BDE Administrátora jsem to stejně dělal asi jen jednou, ale tu možnost v programech mám. Když to nenajde alias z BDE Admina, udělá si to přechodně samo svoje ;-).

Zpět do poradny Odpovědět na původní otázku Nahoru