Avatar billede cathallo Nybegynder
24. august 2004 - 16:56 Der er 15 kommentarer og
2 løsninger

Hentning af data fra database

Jeg har en database hvor jeg skal hente en mase data fra. Jeg har fra databasen et unikt navn som kører som en session. Ud fra dette navn skal jeg hente alt andet data i samme "række" som hører til navnet. Hvordan gøres dette med vbscript. Jeg har forsøgt med dette:

strSQL = "SELECT * FROM userlist WHERE name = Session("name")";

Dette virker bare ikke. Jeg kan ikke vbscript, så derfor plukker jeg fra forskellige tutorials. Men lige dette jeg har brug for kan jeg ikke finde et eksempel på!!
Avatar billede powell Nybegynder
24. august 2004 - 17:00 #1
Prøv med:

strSQL = "SELECT * FROM userlist WHERE name = " & session("name")

Du skal værre sikker på der ligger en værdi i din session som er identisk med noget i databasen ellers vil du ikke få noget resultat.
Avatar billede cathallo Nybegynder
24. august 2004 - 17:01 #2
ok, tester lige, men hvorfor bruger man & foran, er der en "logisk" forklaring??
Avatar billede powell Nybegynder
24. august 2004 - 17:05 #3
I VBscript og i Visual Basic benyttes & bl.a. til at tillæge en værdi til en streng.

f.eks.
strTEST = "Po" & "well"

er det samme som
strTEST = "Powell"
Avatar billede cathallo Nybegynder
24. august 2004 - 17:06 #4
Fejltype:
Microsoft JET Database Engine (0x80040E07)
Data type mismatch in criteria expression.
Avatar billede powell Nybegynder
24. august 2004 - 17:08 #5
Prøv lige at sætte følgende ind i dit script:
msgbox ("session" & session("name"))
msgbox ("SQL-streng" & strSQL)
og fortæl mig hvad der står.
Avatar billede eagleeye Praktikant
24. august 2004 - 17:09 #6
Der skal også ping ' omkring hvis name er en tekst kolonne:

strSQL = "SELECT * FROM userlist WHERE name = '" & session("name") & "'"
Avatar billede eagleeye Praktikant
24. august 2004 - 17:10 #7
Ikke nok med det men name er reserveret ord i Access SQL så der skal klammer omkring:

strSQL = "SELECT * FROM userlist WHERE [name] = '" & session("name") & "'"
Avatar billede cathallo Nybegynder
24. august 2004 - 17:10 #8
Der opstod en Microsoft VBScript-kørselsfejl (0x800A0046)
Tilladelse nægtet: 'msgbox'
/iframe/admin/update_select.asp, line 7
Avatar billede cathallo Nybegynder
24. august 2004 - 17:10 #9
det er da asp ikke sandt??
Avatar billede powell Nybegynder
24. august 2004 - 17:10 #10
egentligt burde det også være
strSQL = "SELECT * FROM userlist WHERE name LIKE '" & session("name") & "'"
Avatar billede powell Nybegynder
24. august 2004 - 17:11 #11
åhh ved asp skal du nok skrive
response.write istedet for msgbox
Avatar billede eagleeye Praktikant
24. august 2004 - 17:12 #12
VBscript og ASP er ikke helt det samme. VBScript bruges istedet for javascript, mend et er kun IE som forstår det.
Avatar billede cathallo Nybegynder
24. august 2004 - 17:12 #13
eagleeye -> Så kører det sku
Avatar billede cathallo Nybegynder
24. august 2004 - 17:12 #14
Jeg mente om dette er asp
msgbox ("session" & session("name"))
msgbox ("SQL-streng" & strSQL
Avatar billede powell Nybegynder
24. august 2004 - 17:13 #15
nej nej det er skam vbscript
Avatar billede cathallo Nybegynder
24. august 2004 - 17:15 #16
Smid et svar eagleye

powell-> dette er hvad den skriver, men det funger nu

'Dimension variables Dim adoCon 'Holds the Database Connection Object Dim rsUsers 'Holds the recordset for the records in the database Dim strSQL 'Holds the SQL query for the database %> session1SQL-streng
Avatar billede eagleeye Praktikant
24. august 2004 - 17:15 #17
Ok :)
nej som powell skriver, det er VBscript.

i ASP ville man skrive dette for at udksrive det til siden:

response.write "session" & session("name") & "<br>"
response.write  "SQL-streng" & strSQL
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

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