22. marts 2002 - 15:11Der er
18 kommentarer og 1 løsning
If Err then ... det hele = fuck up
Hejsa Jeg har en side som opretter nye medlemmer. Det virker Ok, men hvis løkken som tjekker for error bliver aktiveret så stopper den aldrig. Løkken bliver aktuel hvis fejlen "file already in use" kommer, derfor forsøger den så at hente siden igen, så når filen er ledig kan den skrive til den. Men som sagt køre denne løkke bare én gang så bliver filen ved med at være "already in use". Hvorfor???? --------------------------------------------- <!-- #include file="Forbindelse.asp"--> <% '----------------------------- 'tjekker om der er en fejl '-----------------------------
If Err Then n=0 do n = n+1 loop until n=15000 end if
'------------------------------ 'Når n=15000, siden forsøger igen '-----------------------------
if n=15000 then n=0 response.redirect "opretbruger.asp" end if
'------------------------------ 'Tjekker om brugernavnet er brugt, hvis recorden ikke er tom retunerer siden til brugernavn optaget '-----------------------------
strSQL = "Select * From users where brugernavn = '" & Request.form("brugernavn") & "'" Set rs = Conn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then Conn.Close set Conn = Nothing response.redirect "default.asp?submode=optaget" end if
'------------------------------ 'Er intet af ovenstående tilfældet, så oprettes posten '-----------------------------
Const adOpenKeyset = 1 Const adLockOptimistic = 3
Set rs = Server.CreateObject("ADODB.recordset") strSQL = "Select * From users " rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
jo det kunne jeg godt, men det er ikke rigtig det der er problemet, løkken kører fint, men problemet er at db'en aldrig bliver ledig hvis den kører. Det skulle jo gerne være sådan at hvis 2 nu tilmelder sig på samme tid, skulle den ene blive sat i vente position indtil db'en er ledig, men den bliver som sagt aldrig ledig...
Det har jeg forsøgt nu ser det sådan her ud: ------------------------- <% @language = VBScript %>
<% response.buffer = true %> <!-- #include file="Forbindelse.asp"--> <% '----------------------------- 'tjekker om der er en fejl '-----------------------------
If Err.Number <> 0 Then Conn.Close set Conn = Nothing n=0 do n = n+1 loop until n=15000 End if
'------------------------------ 'Når n=15000, siden forsøger igen '-----------------------------
if n=15000 then n=0 response.redirect "opretbruger.asp" end if --------------------------- Som du kan se har jeg også sat ------------------------------- <% @language = VBScript %> <% response.buffer = true %> ------------------------------- ind, men filen bliver ved med at være optaget, og efter nogle min går den så over til denne fejl: ---------------------------- Provider error '80004005'
Unspecified error
/Ny_Bruger/Forbindelse.asp, line 4 --------------------------- Og jeg har sat On Error resume Next til, når jeg vil se om det kører.
mikemclarry>> er det en acces db du bruger?? den kan jo rent faktisk godt klare at der er flere end en der bruger den, så jeg kan ikke lige se hvad du overhovedet skal bruge det til
Det rækker mine ASP evner vist ikke til... Men tilgengæld har jeg fået løkken til at virke, nu forbliver db'en ikke åben, men nu er der så bare et andet problem... Den kan ikke huske "indholdet" så den opretter bare en tom post. Er der nogen der ved hvorfor den opretter en tom post????
>>>Cyberfessor Det er fandeme noget der giver pladeguld på fordøren... Takker for din hjælp. Kan du ikke lige sende et "svar" ind så jeg kan give dig de 60 points?
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.