Avatar billede tblaster Nybegynder
06. januar 2005 - 11:34 Der er 8 kommentarer og
1 løsning

Undersøge om der er fejl i oprettelse af forbindelse til db

Hvordan kan jeg lige fange en fejl i min asp når jeg checker på om der bliver lavet en forbindelse til databasen og hvis der kommer en fejl så sende brugeren til en bestemt side?

Jeg har prøvet med følgende men det virker ikke. Så udskriver den bare stadig iis egen fejl:

Function dbOpen()
   
    ' Undersøger om der er fejl i database forbindelsen
    On Error GoTo 0
   
    Connection_string = "driver={MySql};pwd="& cSql_Password &";uid="& cSql_Login &";database="& cSql_Database &";server="& cSql_Serverip
    Set Conn = Server.CreateObject("ADODB.Connection")
    Set RS = Server.CreateObject("ADODB.Recordset")
    Conn.Open Connection_string
   
    ' Hvis der var fejl i database forbindelsen så sendes brugeren til en fejl side
    If Err.Number > 0 Then
        Response.redirect("401.shtml")
    End If
   
End Function
Avatar billede glen5000 Nybegynder
06. januar 2005 - 18:16 #1
Prøv med
on error resume next
i stedet for
On Error GoTo 0

Hilsen Glen
Avatar billede tblaster Nybegynder
06. januar 2005 - 18:30 #2
Nope ... den udskriver stadig fejlen istedet for at vidersende brugeren! Kan det hele have noget at gøre med at min side kaldes ved den bliver inkluderet fra en anden side og jeg derfor midt på en anden side kalder ovenstående funktion? Skal jeg lave min redirect med en javascript eller hva?
Avatar billede glen5000 Nybegynder
06. januar 2005 - 18:38 #3
Det burde være lige meget om siden er inkluderet eller ej.

Prøv at sætte
option explicit
ind før
on error resume next


Så der kommer til at stå:
option explicit
on error resume next
Avatar billede tblaster Nybegynder
06. januar 2005 - 20:50 #4
Det hjælper ikke.
Avatar billede glen5000 Nybegynder
06. januar 2005 - 21:06 #5
Okay, nu har jeg selv prøvet at lave det i en funktion. Jeg kan kun få det til at virke hvis jeg sætter
option explicit
ud før funktionen.
Så din kode kommer til at hedde:
option explicit
Function dbOpen()
   
    ' Undersøger om der er fejl i database forbindelsen
    on error resume next
   
    Connection_string = "driver={MySql};pwd="& cSql_Password &";uid="& cSql_Login &";database="& cSql_Database &";server="& cSql_Serverip
    Set Conn = Server.CreateObject("ADODB.Connection")
    Set RS = Server.CreateObject("ADODB.Recordset")
    Conn.Open Connection_string
   
    ' Hvis der var fejl i database forbindelsen så sendes brugeren til en fejl side
    If Err.Number > 0 Then
        Response.redirect("401.shtml")
    End If
   
End Function

Håber det virker nu. Ellers ved jeg ikke hvad der kan være galt.
Avatar billede tblaster Nybegynder
06. januar 2005 - 21:17 #6
Det giver:

Microsoft VBScript compilation error '800a0400'

Expected statement

/db.asp, line 22

option explicit
^

Er det ikke fordi den skal ligge på min side som inkluder funktionen og dens side?
Avatar billede glen5000 Nybegynder
06. januar 2005 - 21:24 #7
jeg har kun lagt den i den fil, hvor funktionen ligger.

Min test script ser sådan nu:
Error.asp
<!--#include file="error2.asp"-->
<%
dbOpen()
%>

Error2.asp
<%
option explicit
sub dbOpen()
    ' Undersøger om der er fejl i database forbindelsen
   
    on error resume next

   
    Connection_string = "driver={MySql};pwd="& cSql_Password &";uid="& cSql_Login &";database="& cSql_Database &";server="& cSql_Serverip
    Set Conn = Server.CreateObject("ADODB.Connection")
    Set RS = Server.CreateObject("ADODB.Recordset")
    Conn.Open Connection_string
   
    ' Hvis der var fejl i database forbindelsen så sendes brugeren til en fejl side
    If Err.Number > 0 Then
        Response.write "FEJL"
    End If
end sub
%>

Og den udskriver FEJL

Jeg ved desværre ikke hvad der kan være galt med din kode :(
Men du må have held og lykke med at få problemet løst
Avatar billede tblaster Nybegynder
21. oktober 2005 - 09:04 #8
glen5000 ... smid et svar så vi kan få lukket dette spørgmål. Jeg fik det til at virker efter noget tid ...
Avatar billede glen5000 Nybegynder
22. oktober 2005 - 10:36 #9
Det kommer her :)
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