Avatar billede frank74 Nybegynder
31. januar 2005 - 10:29 Der er 10 kommentarer og
2 løsninger

MEGA begynder spørgsmål

Hvordan skal mit ASP script se ud, hvis siden bare skal skrive Hej "fornavn" "efternavn"

Databasen -> login.mdb
Tabellen  -> Users
fornavn  -> FirstName
efternavn -> LastName
Avatar billede medions Nybegynder
31. januar 2005 - 10:34 #1
Set objConn = SErver.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("login.mdb")

strSQL = "SELECT * FROM Users"
Set objRs = objConn.Execute(strSQL)

While Not objRs.EOF
  Response.Write("Hej " & objRs("FirstName") & " " & objRs("LastName") & "<br />" & vbCrLf)
objRs.MoveNext()
Wend

//>Rune
Avatar billede frank74 Nybegynder
31. januar 2005 - 14:40 #2
Virker ikke helt. Nu viser den fornavn og efternavn på alle brugere... Det skal kun være på den der logger ind.
Avatar billede softspot Forsker
31. januar 2005 - 16:50 #3
Så er du nød til at have et eller andet sted at hente oplysninger om den bruger der er logget på systemet, f.eks. fra en form (hvis det er umiddelbart efter et login) eller i f.eks. en Session-variabel...

Lad os antage det sidste scenarie, så ser dit SQL-statement således ud:

strSQL = "SELECT * FROM Users WHERE UserID = '" & Session("User") & "'"
Avatar billede frank74 Nybegynder
31. januar 2005 - 17:06 #4
Skal der så noget mere ind på siden med login-foren??

Jeg har prøvet at skifte
strSQL = "SELECT * FROM Users"
ud med
strSQL = "SELECT * FROM Users WHERE UserID = '" & Session("User") & "'"
Nu får jeg følgende fejl :
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/test/USER/main.asp, line 14
Linie 14 er : Set objRs = objConn.Execute(strSQL)
Avatar billede softspot Forsker
31. januar 2005 - 19:02 #5
Flg. spm. melder sig:

1. Er UserID et felt i databasen? Hvis nej, hvordan identificeres brugeren så?

2. Hvis ja, er dette felt af typen text eller memo? Hvis nej, hvilken type er det så?
Avatar billede frank74 Nybegynder
01. februar 2005 - 04:48 #6
UserID er et felt i databasen og er af typen autonummerering.
Avatar billede kinderaeg Nybegynder
01. februar 2005 - 11:28 #7
Forudsat du har fået lagt værdien ind i session-variablen, skal du fjerne plingerne rundt om session-variablen i SQL'en, da databasen ellers antager at UserID er en streng-variabel. Din SQL skal altså se således ud:
strSQL = "SELECT * FROM Users WHERE UserID = " & Session("User")
Avatar billede frank74 Nybegynder
01. februar 2005 - 11:35 #8
Så får jeg denne fejl -> [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'UserID ='.
Avatar billede kinderaeg Nybegynder
02. februar 2005 - 08:55 #9
Så lader det til, at du netop ikke har fået sat noget ind i variablen Session("User"). Det skal du jo gøre, når brugeren logger ind.
Avatar billede frank74 Nybegynder
02. februar 2005 - 11:02 #10
Som overskriften siger er jeg nygegynder hvad angår ASP. ;-)
"User"??? Er det noget den får fra databasen eller hvordan???
Avatar billede kinderaeg Nybegynder
02. februar 2005 - 13:25 #11
Ja, når du logger ind, tjekker du sandsynligvis brugernavn og password i databasen?!?

Hvis din forespørgsel fx ser ud, noget som dette:

"select * from Users where Username='" & user & "' and Password='" & pass & "';"

returnerer den jo den bruger, du vil ha' til at logge ind. Derefter (når forespørgslen er foretaget og resultatet ligger i et recordset) skal brugerens id blot gemmes i Session'en:

Session("User") = objRs("UserID")
Avatar billede frank74 Nybegynder
02. februar 2005 - 14:01 #12
Ahhhh. Så virker det... Tak for hjælpen. :-)
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