webForumDet fria alternativet

Felmess

ASP

23 svar · 421 visningar · startad av sudden

Medlem sedan okt. 2002341 inlägg
Frågan#1

Hej!
Jag får det här meddelandet:

ADODB.Recordset error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

/script1987/spelaroll/check.asp, line 17

På denna kod:

<%@Language = VBScript%>
<html>
<body bgcolor="#7B7875">

<%
Dim Conn, RS, bolFinnRedan
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\script1987\db\databas.mdb")

If ((Request.Form("namn") = "") OR (Request.Form("efternamn") = "")_
   OR (Request.Form("epost") = "") OR (Request.Form("nick") = "")_
   OR (Request.Form("pass") = "") OR (Request.Form("info") = "")) Then
  Response.Redirect"start.asp?page=REG"
Else
   bolFinnsRedan = false
   Set RS = Server.CreateObject("ADODB.Recordset")
   [B]RS.Open anvandare, Conn, , adLockOptimistic, adCmdTable[/B]
   Do While Not (RS.EOF OR bolFinnsRedan)
    
    If (StrComp(RS("Epost"), Request.Form("epost"),_
          vbTextCompare) = 0) Then
     Response.Write"Denna epost existerar redan" & "<br>"
     Response.Write"<a href='start.asp?page=REG' target='_top'>Tillbaka</a>"
     bolFinnsRedan = True
    End If
   
    If (StrComp(RS("Nick"), Request.Form("nick"),_
          vbTextCompare) = 0) Then
     Response.Write"Användarnamnet finns redan, välj ett annat" & "<br>"
     Response.Write"<a href='start.asp?page=REG' target='_top'>Tillbaka</a>"
     bolFinnsRedan = True
    End If
    
    If (StrComp(RS("Losen"), Request.Form("pass"),_
          vbTextCompare) = 0) Then
     Response.Write"Lösenordet är upptaget" & "<br>"
     Response.Write"<a href='start.asp?page=REG' target='_top'>Tillbaka</a>"
     bolFinnsRedan = True
    End If
    RS.MoveNext
  Loop
  
  If Not bolFinnsRedan Then
    RS.AddNew
    
    RS("ForNamn") = Request.Form("fornamn")
    RS("EfterNamn") = Request.Form("efternamn")
    RS("Epost") = Request.Form("epost")
    RS("City") = Request.Form("city")
    RS("Year") = Request.Form("year")
    RS("Month") = Request.Form("month")
    RS("Day") = Request.Form("day")
    RS("Nick") = Request.Form("nick")
    RS("Losen") = Request.Form("pass")
    RS("Kon") = Request.Form("kon")
    RS("Info") = Request.Form("info")
   RS.Update
   Response.Write"Sådärja =) Nu kan du börja träffa nya vänner!" & "<br>"
   Response.Write"<a href='start.asp' target='_top'>Logga in</a>"
  End If
  RS.Close
  Set RS = Nothing
 End If
 Conn.Close
 Set Conn = Nothing
%>
  </body>
  </html>

Vad är det som orsakar felet??

Medlem sedan mars 20023 561 inlägg
#2

Jag ser ingen SQL-sträng som heter användare... Sedan så måste du väl includera adovbs.inc???

Medlem sedan okt. 2002341 inlägg
#3

Jag använder ingen SQL sträng i koden!
Scriptet ska kolla om användaren har fyllt i alla uppgifter från formulären...samt kolla om användarnamnet eller lösenordet redan existerar!
Om inte så läggs uppgifterna till i databasen!

Medlem sedan mars 20023 561 inlägg
#4

Men du måste väl ändå specificera vilken tabell posten skall läggas i???

Medlem sedan feb. 20022 594 inlägg
#5

Hur tänkte du kolla om det finns i databasen om du inte har någon SQL-sträng?

Prova också

RS.Open anvandare, Conn, adLockOptimistic, adCmdTable
Medlem sedan okt. 2002341 inlägg
#6

Ja precis...och den tabellen heter anvandare.

Medlem sedan mars 20023 561 inlägg
#7

Prova ändå att ha en SQL:

SELECT * FROM anvandare
Medlem sedan okt. 2002341 inlägg
#8

Jag ska prova det =)

Medlem sedan okt. 2002341 inlägg
#9

Den vill ändå inte funka! =(

Här är koden:

<%@Language = VBScript%>

<html>
<body bgcolor="#7B7875">

<%
Dim Conn, RS, bolFinnRedan
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\script1987\db\databas.mdb")

If ((Request.Form("namn") = "") OR (Request.Form("efternamn") = "")_
   OR (Request.Form("epost") = "") OR (Request.Form("nick") = "")_
   OR (Request.Form("pass") = "") OR (Request.Form("info") = "")) Then
  Response.Redirect"start.asp?page=REG"
Else
   bolFinnsRedan = false
  SQl = "SELECT * FROM anvandare"
   Set RS = Server.CreateObject("ADODB.Recordset")
   [B]RS.Open SQL, Conn, adLockOptimistic, adCmdTable[/B]
   Do While Not (RS.EOF OR bolFinnsRedan)
    
    If (StrComp(RS("Epost"), Request.Form("epost"),_
          vbTextCompare) = 0) Then
     Response.Write"Denna epost existerar redan" & "<br>"
     Response.Write"<a href='start.asp?page=REG' target='_top'>Tillbaka</a>"
     bolFinnsRedan = True
    End If
   
    If (StrComp(RS("Nick"), Request.Form("nick"),_
          vbTextCompare) = 0) Then
     Response.Write"Användarnamnet finns redan, välj ett annat" & "<br>"
     Response.Write"<a href='start.asp?page=REG' target='_top'>Tillbaka</a>"
     bolFinnsRedan = True
    End If
    
    If (StrComp(RS("Losen"), Request.Form("pass"),_
          vbTextCompare) = 0) Then
     Response.Write"Lösenordet är upptaget" & "<br>"
     Response.Write"<a href='start.asp?page=REG' target='_top'>Tillbaka</a>"
     bolFinnsRedan = True
    End If
    RS.MoveNext
  Loop
  
  If Not bolFinnsRedan Then
    RS.AddNew
    
    RS("ForNamn") = Request.Form("fornamn")
    RS("EfterNamn") = Request.Form("efternamn")
    RS("Epost") = Request.Form("epost")
    RS("City") = Request.Form("city")
    RS("Year") = Request.Form("year")
    RS("Month") = Request.Form("month")
    RS("Day") = Request.Form("day")
    RS("Nick") = Request.Form("nick")
    RS("Losen") = Request.Form("pass")
    RS("Kon") = Request.Form("kon")
    RS("Info") = Request.Form("info")
   RS.Update
   Response.Write"Sådärja =) Nu kan du börja träffa nya vänner!" & "<br>"
   Response.Write"<a href='start.asp' target='_top'>Logga in</a>"
  End If
  RS.Close
  Set RS = Nothing
 End If
 Conn.Close
 Set Conn = Nothing
%>
  </body>
  </html>

Vad kan vara fel?

Medlem sedan mars 20023 561 inlägg
#10

Vad får du för felmeddelande?

Medlem sedan okt. 2002341 inlägg
#11

ADODB.Recordset error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

/script1987/spelaroll/check.asp, line 19

Medlem sedan mars 20023 561 inlägg
#12

Prova att byta ut adLockOptimistic, adCmdTable mot deras egentliga konstanter, eftersom du, vad jag kan se, inte inkluderar adovbs.inc...

Medlem sedan okt. 2002341 inlägg
#13

Du menar: Const adLockOptimistic och Const adCmdTable?

Medlem sedan mars 20023 561 inlägg
#14

Nej, till de siffror som de egentligen hänvisar till.
(Tror att det är 3 o 3)

Medlem sedan feb. 20022 594 inlägg
#15

adLockOptimistic har jag för mig är 3, den andra vet jag inte. Kola i adobvs.inc sudden, så förstår du.

Medlem sedan okt. 2002341 inlägg
#16

Hmm..nu hänger jag inte riktigt med här!
Hur gör jag det?

Medlem sedan juni 20019 519 inlägg
#17
RS.Open anvandare, Conn, 3, 3
Medlem sedan okt. 2002341 inlägg
#18

Okej...så det blir ungefär såhär: Const adLockOptimistic = 3 ??

Medlem sedan okt. 2002341 inlägg
#19

Jaha! =)
Tackar tackar!

Medlem sedan feb. 20022 594 inlägg
#20

adLockOptimistic och adCmdTable är vanliga konstanter, som finns i adobs.inc.

Kolla i adobvs.inc så ser du att det ser ut typ:

adLockOptimistic        =       3

osv.

259 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)