Avatar billede burningice Nybegynder
24. januar 2003 - 13:24 Der er 3 kommentarer og
1 løsning

Application.StartupPath

Jeg har en database, som jeg gerne vil lave nogle interfaces til. Der skal være både et windows interface (WinForms) og en webinterface (WebForms). For at genbruge så meget kode som muligt har jeg delt det op i forskellige lag, hvor jeg i bunden har mit DbConnection klasse, som står for forbindelse til databasen, oven på den ligger der nogle andre klasser som bruges til at hente kunder, varer osv. ud med, og oven på den er der nogle nye klasser som henholdsvis bliver brugt til windowsprogrammet, og nogle andre til hjemmesiden.

Det er jo altsammen vældig smart, jeg har dog et lille problem, og det er Connection-stringen til databasen. Som det er nu bruger jeg access, og der skal jeg jo bruge en absolut sti, til mdb filen. Før jeg begyndte på udviklingen af hjemmesiden, løste jeg "problemet" ved at lave en
public static string MapPath = Application.StartupPath;
på min mainform, som jeg så kunne hente i min db-class, men det holder jo ikke når klasses f.eks. skal bruges på en hjemmeside. Mit spm er derfor, om der ikke findes en config fil, ala web.config, bare til windows-programmer, som jeg kan læse værdier ud fra UDEN at skulle kende den absolutte sti til filen.
Avatar billede burningice Nybegynder
24. januar 2003 - 13:26 #1
... eller bare en eller anden form for metode, så en dll fil, kan finde ud af stien til det bibliotek den befinder sig i.
Avatar billede simon.ulsnes Nybegynder
24. januar 2003 - 13:56 #2
string filename = System.Reflection.GetAssembly(typeof(dinklasse)).Location;
string path = filename.Substring(0, filename.LastIndexOf('\\'));

// Simon
Avatar billede simon.ulsnes Nybegynder
24. januar 2003 - 13:57 #3
dinklasse skal så nok være din DbConnection klasse, hvis din Access database ligger i samme mappe som denne...
Avatar billede burningice Nybegynder
24. januar 2003 - 14:13 #4
lækkert.. det virker perfekt, efter en lille rettelse... ;)

        public DbConnection()
        {
            string filename = System.Reflection.Assembly.GetAssembly(typeof(DbConnection)).Location;
            string path = filename.Substring(0, filename.LastIndexOf('\\'));
            string strConnString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="+ path +"\\db.mdb";

            objConn.ConnectionString = strConnString;
        }
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester