[ vbvlada @ 08.08.2007. 11:47 ] @
Citao sam nekoliko tema ali nisam bas nasao pravi odgovor...
Treba da napravim aplikaciju koja koristi Access bazu koja ce biti na jednom racunaru(ne znam da li da kazem serveru),a da se aplikacija vrti na drugom racunaru.
Kada to distribuiram korisniku,koji je najbolji nacin da se promeni ConnectionString? Taj kome pravim nije blizu mene i ne moze da promeni to u kodu,ja bih njemu samo poslao instalaciju programa,a trebalo bi da on podesi gde mu se nalazi baza.
[ prog @ 08.08.2007. 13:38 ] @
Implementiraj jednu varijabli tipa string, koja se pohrnjuje u config datoteci.

Kada se prvi put pokrece aplikacija, vrijednost te varijable je prazna (ili neka druga vrijednost koju odredis).

U tom slučaju implementiras da ti se podize standardni dijalog za konfiguraciju stringa konekcije poznat kao DATALINK.
Podesi se provider lokacija baze podataka i pasword ako postiji , te prilikom zatvaranja dijaloga vrijednost se zapise u prethodno definisanu varijablu.

Prijmjer funkcije koja poziva DATALINK dijaloski okvir :

Code:

private void PozivanjeDATALINKdijaloga()
        {
            try
            {
                
                Type type = Type.GetTypeFromProgID("DataLinks");
                object links = Activator.CreateInstance(type);
                object str1 = type.InvokeMember("PromptNew", BindingFlags.InvokeMethod, null, links, null);

                object s = str1.GetType().InvokeMember("ConnectionString", BindingFlags.GetProperty, null, str1, new object[0]);
                if (s != null)
                {
               //Dobijanje stringa konekcije
                    string StringKonekcije=(string)s;

                }
            }
            catch
            {
                return;
            }
        }