Avatar billede kadafi Nybegynder
15. august 2007 - 09:26 Der er 3 kommentarer

Fra URL til SQL

Hej.
Jeg har nogle problemer med at få data ud af et link som skal gemmes i en sql database.
Jeg har kodet det her:

Response.Write("<tr><TD><A href=""Hent_pdf.asp?ID=" & Arkiv & " "">" & PDFNavn &  "  " & "<img src=""../images/txt2.gif"" border=0 alt="" " & Beskriv &" "" target=info></a><br></TD></TR>")

Jeg skal gemme PDF navnet og antal gange det ovenstående link bliver brugt og til sidst en TimeStamp i SQL databasen.

Er der nogen der kan hjælpe?

På forhånd tak :-)
Avatar billede fennec Nybegynder
15. august 2007 - 10:19 #1
Ikke helt med på hvad du mener, men vil mene det skal laves på Hent_pdf.asp siden.

Hver gang en bruger klikker på linket bliver den side jo kørt, og der får du alle oplysningerne.

ID'et henviser det til at database id hvor PDFnavnet figurere?
Avatar billede thesurfer Nybegynder
15. august 2007 - 10:52 #2
Du bliver nødt til at have navnet med i urlen.. ellers kan du ikke aflæse navnet..

Men, hvis PDF filen allerede eksisterer i databasen, kan du jo bare have en kolonne i databasen, med navnet "navn", hvor du har navnet på filen..

Så er det bare at opdatere med:

on error resume next ' forsætter med resten af koden, selvom der er fejl - check altid for fejl!!

dim id
id = request.querystring("id")
if id <> "" then
  id = CInt(id) ' Hvis man har skrevet bogstaver o.lign. i "?id=NogetHer" er der fejl
 
  if Err.Number = 0 then
  ' Hvis Err.Number er lig 0, er alt OK.. dvs, Fejlkode 0 er lig "OK"
    sql = "update TabellensNavn set antal = antal + 1 where id = " & id
  else
    ' Der er et eller andet galt med id
    ' Det kan være at brugeren har ændret på værdien, og skrevet bogstaver eller ligende
    ' Gør et eller andet her.. f.eks. kan du udskrive "fejl i ID!"
  end if
 
end if ' slut-if: if er ikke tom

Jeg ved ikke helt hvad du skal bruge navnet til..

Men du kan gøre sådan her:

<A href=""Hent_pdf.asp?ID=" & Arkiv & "&navnet=" & PDFNavn & """>" & PDFNavn & ..osv..

Så kan du aflæse navnet med:

dim navn
navn = request.querystring("navnet")
Avatar billede thesurfer Nybegynder
15. august 2007 - 10:57 #3
Egentlig burde man gøre sådan her:

on error resume next ' forsætter med resten af koden, selvom der er fejl - check altid for fejl!!

dim id, fejl

fejl = ""

id = request.querystring("id")

if id = "" then
    fejl = "ID findes ikke!" ' sæt fejlbeskeden her
else
  id = CInt(id) ' Hvis man har skrevet bogstaver o.lign. i "?id=NogetHer" er der fejl
 
  if Err.Number = 0 then
  ' Hvis Err.Number er lig 0, er alt OK.. dvs, Fejlkode 0 er lig "OK"
    sql = "update TabellensNavn set antal = antal + 1 where id = " & id
  else
    ' Der er et eller andet galt med id
    ' Det kan være at brugeren har ændret på værdien, og skrevet bogstaver eller ligende
    ' Gør et eller andet her.. f.eks. kan du udskrive "fejl i ID!"

    fejl = "ID findes ikke!" ' sæt fejlbeskeden her
  end if
 
end if ' slut-if-check: id er ikke tom


if fejl <> "" then response.write fejl ' hvis variablen "fejl" ikke er tom, udskriv den

Du kunne også gøre sådan her:

if Err.Number <> 0 then response.write "FEJL!: " & err.number & " - " & Err.Description

Lad os sige, at brugere havde skrevet "abc" i stedet for "6" i "id=" i urlen, så vil den f.eks. skrive:

FEJL! 125441 - Fejl i type

Eller ligende, fordi den ikke kan konvertere "abc" til et tal, som den prøver på her:

  id = CInt(id)
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