

Delphi - BDE - Ako určiť cestu, kde sa vytvorí PDOXUSRS.NET?
Čo treba urobiť, aby sa súbor PDOXUSRS.NET nevytvoril na C:\ na na mnou určenej ceste?
Čo treba urobiť, aby sa súbor PDOXUSRS.NET nevytvoril na C:\ na na mnou určenej ceste?
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 | |
Dobre, pre moje potreby to fungovalo aj tak, ako radil Rce, ale ako to dostať do Query, keď to sa br… nový msx. 16.05.2007 17:55 |
msx. | |
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 |
Zpět do poradny Odpovědět na původní otázku Nahoru
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
.
RCE, ďakujem!!! Točil som sa okolo správneho riešenia ako prd v gaťách a toto ma nenapadlo. Posielam
.
Presunul som to z TfrmMain.DatabaseBeforeConnect do TfrmMain.FormCreate a funguje to. Len by ma zaujímalo, 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...
Dobre, pre moje potreby to fungovalo aj tak, ako radil Rce, ale ako to dostať do Query, keď to sa bránilo zubami-nechtami?
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 
. 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
.