Avatar billede agg-zeus Nybegynder
27. juli 2002 - 22:09 Der er 5 kommentarer og
1 løsning

DB connection!

Jeg har følgende script som bruges til at godkende profiler:


<%


If Session("adminlevel")  <> "1" Then
    Response.Write "<b>Du har ikke adgang til denne funktion!</b>"

Else

Select Case Request.Querystring("action")

Case ""

Response.Write "<h3 align='center'>..:: Godkend profiler ::..</h3>" _
& "<table width='450' align='center'><tr><th width='150' valign='top' align='left'>Brugernavn:</th><th width='150' valign='top' align='left'>Navn: </th><th width='150' valign='top' align='left'>Område: </th></tr>"

dbcon

Set RS = Conn.Execute("SELECT * FROM brugere WHERE godkendt = not True ORDER BY brugernavn")

If not rs.EOF or rs.BOF Then

Do While not (rs.EOF or rs.BOF)
    Response.Write "<tr><td width='150' valign='top'><a href='../include/admingodkendprofiler.asp?action=godkend&brugernavn="&RS("brugernavn")&"'>"&RS("brugernavn")&"</a></td><td width='150' valign='top'><p>"&RS("navn")&"</p></td><td width='150' valign='top'><p>"&RS("omraade")&"</p></td></tr>"
RS.movenext
    Loop

Else

    Response.Write "<br><b>Der er ikke nogen profiler det venter på at blive godkendt!</b>"

End If

closedb

Response.Write "</table>"


    'If Request.Querystring("action") = "godkend" Then
Case "godkend"
   
dbcon  ' linie 41

Conn.Execute("UPDATE brugere SET godkendt = True WHERE brugernavn = "&Request.Querystring("brugernavn")&" ")

Conn.Close
set Conn = Nothing

Response.Redirect("../include/admingodkendprofiler.asp")

    End Select

End If

%>

Men når jeg kører scriptet får jeg følgende fejl:

Typerne stemmer ikke overens: 'dbcon'
linie 41

dbcon indeholder min connectionstring til DB'en...

Hvad har jeg gjort galt ?
Avatar billede tmceu Praktikant
27. juli 2002 - 22:31 #1
Det er fordi der bare står dbcon midt i dit script
Avatar billede tmceu Praktikant
27. juli 2002 - 22:34 #2
Er dbcon en sub rutine/funktion ?

I så fald skal du være opmærksom på scopet for variabler. Hvis du erklærer conn inde i en sub rutine/funktion, kan du ikke anvende den udenfor.

Løsningen er at erklære den udenfor funktionen og så initialisere den inde i funktionen.
Avatar billede agg-zeus Nybegynder
28. juli 2002 - 11:28 #3
Det er en Sub der bliver kaldt fra dbcon.asp !

Jeg har prøvet at flytte lidt rundt på det, men det har ikke hjulpet !
Avatar billede agg-zeus Nybegynder
28. juli 2002 - 11:46 #4
Hvad går galt ???
Avatar billede agg-zeus Nybegynder
28. juli 2002 - 11:55 #5
Nu går det helt galt !!!
Jeg har delt de 2 scripts op i 2 filer

admingodkendprofiler.asp

<%

If Session("adminlevel")  <> "1" Then
    Response.Write "<b>Du har ikke adgang til denne funktion!</b>"

Else


Response.Write "<h3 align='center'>..:: Godkend profiler ::..</h3>" _
& "<table width='450' align='center'><tr><th width='150' valign='top' align='left'>Brugernavn:</th><th width='150' valign='top' align='left'>Navn: </th><th width='150' valign='top' align='left'>Område: </th></tr>"

dbcon  ' linie 12

Set RS = Conn.Execute("SELECT * FROM brugere WHERE godkendt = not True ORDER BY brugernavn")

If rs.EOF Then

    Response.Write "<br><b>Der er ikke nogen profiler det venter på at blive godkendt!</b>"

Else

Do While not (rs.EOF or rs.BOF)
    Response.Write "<tr><td width='150' valign='top'><a href='../include/admingodkendprofiler1.asp?brugernavn="&RS("brugernavn")&"'>"&RS("brugernavn")&"</a></td><td width='150' valign='top'><p>"&RS("navn")&"</p></td><td width='150' valign='top'><p>"&RS("omraade")&"</p></td></tr>"
RS.movenext
    Loop

End If

closedb

Response.Write "</table>"


End If

%>


admingodkendprofiler1.asp

<%

Set Conn = Server.CreateObject("ADODB.Connection")

DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("../db.mdb") & ""

Conn.Open DSN

Conn.Execute("UPDATE brugere SET godkendt = True WHERE brugernavn = '"&Request.Querystring("brugernavn")&"' ")

Conn.Close
set Conn = nothing

Response.Redirect("../include/admingodkendprofiler.asp")

%>


Nu kan den godt opdatere feltet i databasen, men når admingodkendprofiler1.asp sender brugeren tilbage til admingodkendprofiler.asp så kommer fejlen:

Der opstod en Microsoft VBScript-kørselsfejl (0x800A000D)
Typer stemmer ikke overens: 'dbcon'
/include/admingodkendprofiler.asp, line 12
Avatar billede agg-zeus Nybegynder
28. juli 2002 - 12:45 #6
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