Avatar billede beef12 Nybegynder
07. december 2006 - 20:06 Der er 21 kommentarer og
1 løsning

Relative stier

new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\data\Kode\Db\Min.mdb");

Kan man indsætte en relativ sti, så jeg slipper for at skrive c:\data\Kode\Db\Min.mdb ? Koden ligger i mappen "Kode". har prøvet med "Db/Min.db", men det virker ikke.
Avatar billede kalp Novice
07. december 2006 - 20:22 #1
new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\Kode\Min.mdb
");
Avatar billede kalp Novice
07. december 2006 - 20:23 #2
hov..

new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\Kode\Min.mdb
");

nok bare sådan når du benytter @
Avatar billede beef12 Nybegynder
07. december 2006 - 20:28 #3
hmmm - det virker hellere ikke.

Får fejlen:
'C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\Kode\Db\Min.mdb' is not a valid path.  Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.
Avatar billede kalp Novice
07. december 2006 - 20:29 #4
new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\Db\Kode\Min.mdb
");
Avatar billede kalp Novice
07. december 2006 - 20:31 #5
jeg er lidt usikker på i hvilket folder vi står henne? det er derfor.

.\ betyder gå en folder tilbage. ved ikke om vi skal mere tilbage eller?
Avatar billede beef12 Nybegynder
07. december 2006 - 20:32 #6
Du mener vel:

new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\Kode\Db\Min.mdb
");

Det er nemlig det jeg har brugt.
Avatar billede kalp Novice
07. december 2006 - 20:38 #7
det var det jeg mente:P hehe

virker det? hvis ikke

new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\Kode\Db\Min.mdb
");
Avatar billede beef12 Nybegynder
07. december 2006 - 20:45 #8
nej :-S
Avatar billede kalp Novice
07. december 2006 - 20:50 #9
new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\data\Kode\Db\Min.mdb
");

aner ikke hvor vi står henne
Avatar billede beef12 Nybegynder
07. december 2006 - 20:53 #10
jojo - men så er hele pointen væk :-)
Så kan jeg lige så godt skrive den fulde sti. For hvis jeg flytter mappen "Kode", så skal jeg ind og ændre stien - og det er netop det jeg gerne vil undgå.
Avatar billede beef12 Nybegynder
07. december 2006 - 20:56 #11
sad lige og google'de lidt og fandt frem til: Server.MapPath("relativSti") - er det ikke det jeg skal bruge?
Avatar billede kalp Novice
07. december 2006 - 21:41 #12
jo hvis man kan bruge det i almindelige kode... jeg mener bare det er til ASP.NET
Avatar billede kalp Novice
07. december 2006 - 21:44 #13
tror heller ikke du kan bruge den... det eneste man bruger den til ser ud til at være så man slipper for at skrive url'en først
Avatar billede kalp Novice
07. december 2006 - 21:46 #14
men ja.. jeg kan ikke hjælpe med problemet ellers..

ved brug af .\ går man en mappe tilbage uden at man skal vide i hvilken mappe man er først.. der er måske også noget lignende til at gå mapper frem.
Avatar billede arne_v Ekspert
08. december 2006 - 04:05 #15
New OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase) & "\Db\Min.mdb");

vil hvis EXE er C:\data\Kode\foobar.exe til gå C:\data\Kode\Db\Min.mdb uanset
hvad current dir er
Avatar billede beef12 Nybegynder
10. december 2006 - 10:20 #16
Når jeg debugger, kan jeg se at: Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase); er sat til:

"file:\\C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\Temporary ASP.NET Files\\kode\\1f9f3743\\ae7139bd"

Meget mærkeligt.
Avatar billede arne_v Ekspert
10. december 2006 - 17:33 #17
hvis det er ASP.NET skal du bruge MapPath

og der er ikke noget mærkeligt i at den DLL der genereres fra din ASP.NET side
ligger der
Avatar billede beef12 Nybegynder
10. december 2006 - 17:57 #18
Jo - men der er tale om en ganske almindelig klasse hvor jeg har et kald til min database.

I så fald mappath er vejen frem hvordan bruger jeg det i denne specifikke situation?
Avatar billede beef12 Nybegynder
10. december 2006 - 18:41 #19
I hvilken reference ligger Server? VS accepterer ikke Server.MapPath ?
Avatar billede arne_v Ekspert
10. december 2006 - 20:01 #20
HttpContext.Current.Server.MapPath

med en ref til System.Web.dll
Avatar billede beef12 Nybegynder
10. december 2006 - 20:56 #21
Tak for det arne - det var lige det jeg havde brug for. Smid et svar.
Avatar billede arne_v Ekspert
10. december 2006 - 22:00 #22
svar
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