Avatar billede tryout Nybegynder
08. november 2003 - 22:07 Der er 5 kommentarer og
1 løsning

Brug af Request.querystring samme m. sql

måske ikke den bedste title men.

Problem:
Jeg har en side som skal kunne hente data ud af forskellige databaser. Jeg giver navnet på databasen ved at,

href="java script:self.location.href='/Forum.asp?dataEmne=<%=dataEmne%>';"

jeg henter navnet med,

<%
dim Data
dim Database
Data = Request.Querystring("data")
Database = Data & ".mdb"
%>

men her kommer problemet:

DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath(********)

hvad skal jeg skrive, så den bliver variablen "Database" der står istedet for sjernerne.
Avatar billede tryout Nybegynder
08. november 2003 - 22:08 #1
Det hvor der står "dataEmne" står der i virkeligheden "data", det var kun for at gøre det mere forståeligt
Avatar billede eagleeye Praktikant
08. november 2003 - 22:10 #2
Så bare skriv Datebase i stede for ********


DSN = DSN & "DBQ=" & Server.MapPath(Datebase)
Avatar billede eagleeye Praktikant
08. november 2003 - 22:10 #3
og hvis du skal havde noget mere med med stien:

DSN = DSN & "DBQ=" & Server.MapPath("/" & Database)
Avatar billede thesurfer Nybegynder
08. november 2003 - 22:12 #4
BBQ :)

burde der ikke have stået "dataEmne" i stedet for "data":
Data = Request.Querystring("dataEmne")
Avatar billede thesurfer Nybegynder
19. november 2003 - 15:56 #5
hæhæ.. fandt lige en fejl i eagleeyes indlæg :)
"Datebase".. med "e" :)

By the way.. jeg tror stadig at det er, fordi der ikke står noget i "data", fordi der i url står "dataEmne".

Altså skal der stå:
href="java script:self.location.href='/Forum.asp?dataEmne=<%=dataEmne%>';"

<%
dim Data
dim Database
Data = Request.Querystring("dataEmne")
Database = Data & ".mdb"
%>

...

DSN = DSN & "DBQ=" & Server.MapPath(Database)
...


<Hints>:

1)
Du kunne evt erstatte
href="java script:self.location.href='/Forum.asp?dataEmne=<%=dataEmne%>';"

med <a href="/Forum.asp?dataEmne=<%=dataEmne%>" target="_self">

Dermed undgår du overflødigt JavaScript..
..hvilket er en god ide, hvis brugerens browser ikke understøtter JavaScript, eller hvis det er slået fra.

Jeg går ud fra at du bruger "self" fordi du har <base target="et-eller-andet-vindue-navn"> i dit <head></head> område.
Ellers er der ingen grund til at bruge "self", idet "self" er standard, dvs alle sider åbnes i det nuværende vindue.

2)
Du kan spare en variabel, som bruger resourcer på serveren, ved at skrive:

<%
dim Database
Database = Request.Querystring("dataEmne") & ".mdb"
%>

..Med mindre du skal bruge indholdet af Request.Querystring("dataEmne") senere i koden..

</Hints>

/theSurfer.
Avatar billede thesurfer Nybegynder
19. november 2003 - 16:08 #6
Hvis dataEmne = "hus" kommer der til at stå:
Data = "hus"
Database = "hus" & ".mdb" ' = "hus.mdb"

...
DSN = DSN & "DBQ=" & Server.MapPath("hus.mdb")

Dvs, alle databaserne ligger i samme mappe som Forum.asp..
f.eks.:
Forum.asp
hus.mdb
bil.mdb
osv..

er det korrekt?
Hvis ikke, skal du lige kigge på eagleeyes andet indlæg..

tryout> jeg har lige læst dit første indlæg :)  (havde ikke set det der med "dataEmne" og "data"..)
"mere forståeligt".. hmm.. det blev lidt mere forvirrende, synes jeg :)
Da det ville have været fejlen..
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
Kurser inden for grundlæggende programmering

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