Avatar billede jhoumann Nybegynder
13. august 2002 - 10:45 Der er 6 kommentarer og
1 løsning

Problemer med Connection-objektet

Jeg har et ASP-script der anvender et connection-object til en access-DB via ODBC. Det fungerer fint første gang jeg kører scriptet, men melder fejl hvis jeg afvikler det igen umiddelbart efter hinanden.
Det er selve objConn.Open der melder fejl.

Sidst i scriptet har jeg
objConn.close
Set objConn = Nothing
Avatar billede sblar Nybegynder
13. august 2002 - 10:49 #1
Hvordan ser scriptet ud og hvilken fejl får du?
Avatar billede jhoumann Nybegynder
13. august 2002 - 11:07 #2
Fejlen er: uspecified error i linien: objConn.Open

Scriptet er her:

<!--#include File="adovbs.inc"-->
<% Session.LCID = 1031 %>
<% Response.Buffer = True %>
<% Response.Clear %>
<html>

<head>
<!-- Minus AutoDato -->
<link rel="stylesheet" type="text/css" href="Styles/styles.css" />
<title>Kontrol af indtastet password</title>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
</head>

<body>

<% Dim Brugernavn, Password, objConn
Brugernavn = request.form("Brugernavn")
Password = request.form("Password")

If Brugernavn = "" OR Password = "" then
  Response.Redirect("default.asp")
End If

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DSN=Adgangscheck.dsn"
objConn.Open

Dim objRS
set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "LoginLog", objConn, , adLockOptimistic, adCmdTable
   
    objRS.AddNew
    objRS("Brugernavn") = Brugernavn
    objRS("Password") = Password
    objRS("LoginDato") = now()
    objRS.update
   
    objRS.close
    Set objRS = Nothing

    Dim bolFundet
  bolFundet = False   
    set objRS = Server.CreateObject("ADODB.Recordset")
    objRS.open "Brugere", objConn,adLockOptimistic, adCmdTable
    Do While Not (objRS.EOF OR bolFundet)
      If (StrComp(objRS("Brugernavn"), Brugernavn, vbTextCompare) =0) Then
          bolFundet = True
      else
          objRS.MoveNext
      End If
  Loop
   
    if objRS.EOF Then
            Session("godkendt")="ikkegodkendt"
            objRS.close
            Set objRS = Nothing
      Response.Write "Brugernavn eller password ikke gyldigt!"
       
    else
            If (StrComp(objRS("Password"), Request.Form("Password"), vbTextCompare) =0) Then
        Session("brugernavn") = objRS.Fields("brugernavn")
              objRS.close
                Set objRS = Nothing
              Session("godkendt")="godkendt"
        Session("Brugernavn")= Brugernavn
                Response.Clear
              Response.Redirect("Hovedmenu.asp")
              Response.End
      else
        Session("godkendt")="ikkegodkendt"
              objRS.close
        Response.Write "Brugernavn eller password ikke gyldigt!"
      End If
  End If
    objConn.Close
    Set objConn = Nothing


%>
<p>Dato: <% =Date %> </p>

<p>Dit forsøg vil blive registreret i databasen! </p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p align="center"><a href="Default.asp"><img src="Figurer/Tilbage.jpg" border="0" width="107" height="25"
alt="Tilbage.jpg (2150 bytes)"></a></p>
</body>
</html>
Avatar billede Spotgun Seniormester
13. august 2002 - 12:37 #3
Det lyder lidt som om, at du aldrig får lukket for dit connection-object. Prøv at kontroller om dit script rent faktisk når hen til objconn.close linien og får den kørt...

Jeg har selv oplevet noget lignende før, pga. nogle små fejl i et loop...
Avatar billede Spotgun Seniormester
13. august 2002 - 12:42 #4
Har muligvis spottet en fejl...

I den sidste if-then-else-blok, har du en nested if-sætning der mangler en end if... Måske er det den der gør, at du aldrig får lukket connection-objectet?

---
    else
            If (StrComp(objRS("Password"), Request.Form("Password"), vbTextCompare) =0) Then
        Session("brugernavn") = objRS.Fields("brugernavn")
              objRS.close
                Set objRS = Nothing
              Session("godkendt")="godkendt"
        Session("Brugernavn")= Brugernavn
                Response.Clear
              Response.Redirect("Hovedmenu.asp")
              Response.End
      else
-----

Smæk en "end if" ind før din "else" (den sidste af dem)
Avatar billede jhoumann Nybegynder
13. august 2002 - 16:21 #5
Så virker det... Helt fint!!! Tak
Avatar billede sblar Nybegynder
13. august 2002 - 17:16 #6
Øhh, gav du dig selv point for for spotgun's svar eller hvad?
Avatar billede Spotgun Seniormester
13. august 2002 - 17:23 #7
Ren forglemmelse fra min side, at jeg ikke fik lagt et svar... Men ellers blændende metode til gratis hjælp dér, jhoumann!
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