Kako da napravim da bude apsolutno definisana baza i gde god da prebacim aplikaciju (na bilo koju particiju, bilo koji računar) da može da čita bazu?U pitanju je Access baza podataka.
koristiti access za bazu u C#
Zaključano
Zakačeno
Napravi kompletnu bazu iz accessa...i to je to..
pozdrav
Marko
pozdrav
Marko
Baza je napravljena.Sadrži samo jednu tabelu.Ali i dalje ne funkcioniše.
ajde sad malo detaljnije, sta ne funkcionise:
baza ti radi na jednom sistemu, ne radi na drugom? baza radi iz accessa ne radi pristup iz visuala? baza radi iz visuala ne radi iz accessa?
koji visual? baza je puna? koji os ........ma daj sve podatke, bre!!!! :)
marko
Koliko sam ja razumeo, ti bi hteo da program čita iz baze nezavisno od toga gde se baza ili aplikacija nalazi. Vidiš, to i mene interesuje :) !
Mislim da treba podesiti konekcioni string da uvek pokazuje na mesto gde je aplikacija instalirana. Da li je to moguće?
Mislim da treba podesiti konekcioni string da uvek pokazuje na mesto gde je aplikacija instalirana. Da li je to moguće?
izmenjeno 1 put, poslednji put VerbatimBOT 10.04.2006. u 20:32
Izmene poruke
- VerbatimBOT10.04.2006. u 20:32zapis iz teksta poruke
Rešenje je da prilikom definisanja konekcionog stringa, koristitie metodu getCurrentDirectory() koja vraća string putanje trenutnog direktorijuma, pa na to nadovežete dalje putanju do baze.
Da biste je koristili, morate uključiti System.Data.IO ako se ne varam (sad ovo pišem napamet, pa ne znam tačno, ali znam da jeste IO).
I to je to !
Da biste je koristili, morate uključiti System.Data.IO ako se ne varam (sad ovo pišem napamet, pa ne znam tačno, ali znam da jeste IO).
I to je to !
Potpis
Winners never quit, quitters never win.
System.IO
(bez data).
(bez data).
Potpis
Every hamster has his day.
Pazi ukoliko koristiš GetCurrentDirectory() metod. On vraća trenutni direktorijum i to je na početku direktorijum odakle je aplikacija startovana
i nije nepromenljiv - na primer OpenFileDialog može promeniti trenutni direktorijum kao i poziv metode Directory.SetCurrentDirectory.
Da bi saznao putanju sa koje je pokrenuta aplikacija najbolje je koristiti Application.StartupPath za Windows aplikaciju a
Server.MapPath("~") za Web aplikaciju.
i nije nepromenljiv - na primer OpenFileDialog može promeniti trenutni direktorijum kao i poziv metode Directory.SetCurrentDirectory.
Da bi saznao putanju sa koje je pokrenuta aplikacija najbolje je koristiti Application.StartupPath za Windows aplikaciju a
Server.MapPath("~") za Web aplikaciju.
Pazi sad ovako:
Ja sam i dalje za metodu GetCurrentDirectory koju može da stavi recimo negde u početnoj stranici aplikacije (Root direktorijum), jer dalje od njega neće ići. A sve što je u Root direktorijumu može da nadoveže na konekcioni string, tipa:
I na kraju to ubaci u konekcioni string.
Ja sam i dalje za metodu GetCurrentDirectory koju može da stavi recimo negde u početnoj stranici aplikacije (Root direktorijum), jer dalje od njega neće ići. A sve što je u Root direktorijumu može da nadoveže na konekcioni string, tipa:
Code:
string putanja = GetCurrentDirectory();
putanja += "\\App_Data\\db1.mdb";
string putanja = GetCurrentDirectory();
putanja += "\\App_Data\\db1.mdb";
I na kraju to ubaci u konekcioni string.
Potpis
Winners never quit, quitters never win.
Ma u redu je i sa GetCurrentDirectory metodom za Windows aplikaciju, ja sam samo rekao da pazi gde je koristi da se posle ne pita zašto to ne radi kao što očekuje.
Inače, ako to bude koristio u Web aplikaciji - jednostavno neće raditi.
Inače, ako to bude koristio u Web aplikaciji - jednostavno neće raditi.
Citat:
VerbatimBOT:
I na kraju to ubaci u konekcioni string.
Code:
string putanja = GetCurrentDirectory();
putanja += "\\App_Data\\db1.mdb";
string putanja = GetCurrentDirectory();
putanja += "\\App_Data\\db1.mdb";
I na kraju to ubaci u konekcioni string.
Kako to da izvedem? Kako da u ovo "uglavim" tu promenjljivu?
Code:
OleDbConnection conection = new OleDbConnection(@"Provider = Microsoft.Jet.OLEDB.4.0; Data Source=
c:\temp\App_Data\db1.mdb");
OleDbConnection conection = new OleDbConnection(@"Provider = Microsoft.Jet.OLEDB.4.0; Data Source=
c:\temp\App_Data\db1.mdb");
Code:
System.Reflection.Assembly.GetExecutingAssembly().Location;
ili za web
Server.MapPath(null);
System.Reflection.Assembly.GetExecutingAssembly().Location;
ili za web
Server.MapPath(null);
cheers
Potpis
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
Ok, ja sam se nešto istripov'o!
Jedino,
u fazi testriranja, direktrorijum "App_Data" i sama baza moraju biti u istom direktrorijumu odakle se pokreće i aplikacija, znači u "Debug", logično :) ...
Code:
string putanja = GetCurrentDirectory();
putanja += "\\App_Data\\db1.mdb";
OleDbConnection conection = new OleDbConnection(@"Provider = Microsoft.Jet.OLEDB.4.0; Data Source=" +
putanja);
string putanja = GetCurrentDirectory();
putanja += "\\App_Data\\db1.mdb";
OleDbConnection conection = new OleDbConnection(@"Provider = Microsoft.Jet.OLEDB.4.0; Data Source=" +
putanja);
Jedino,
u fazi testriranja, direktrorijum "App_Data" i sama baza moraju biti u istom direktrorijumu odakle se pokreće i aplikacija, znači u "Debug", logično :) ...