View Single Post
  #1 (permalink)  
Old February 12th, 2004, 01:36 PM
lance lance is offline
Registered User
 
Join Date: Feb 2004
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
Default ADODB.Recordset error

Hello, Here is my problem. I got the script from the Beginning Active server pages 3.0 book page 661. I get the error below when I click on the submit button of my form:

ADODB.Recordset error '800a0bb9'

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

/databasetesting/AddUser.asp, line 27


Here is the code. Can you help me fix the script? Does the rest of the script look ok?

(line 27 is where it says rsUsers.Open "Person", objConn, adOpenForwardOnly, adLockOptimistic, adCmdTable)




Code:
<% 
Dim objConn 
Set objConn = Server.CreateObject("ADODB.Connection") 
objConn.Open "registration" 

  If Session("blnValidUser") = True and Session("PersonID") = "" Then 
    Dim rsPersonIDCheck 
    Set rsPersonIDCheck = Server.CreateObject("ADODB.Recordset") 
    Dim strSQL 
    strSQL = "SELECT PersonID FROM Person " & _ 
             "WHERE EMailAddress = '" & Session("EMailAddress") & "';" 
    rsPersonIDCheck.Open strSQL, objConn 
    If rsPersonIDCheck.EOF Then 
      Session("blnValidUser") = False 
    Else 
      Session("PersonID") = rsPersonIDCheck("PersonID") 
    End If 
    rsPersonIDCheck.Close 
    Set rsPersonIDCheck = Nothing 
  End If 
%> 

<% 
  Dim rsUsers 
  Set rsUsers = Server.CreateObject("ADODB.Recordset") 
  rsUsers.Open "Person", objConn, adOpenForwardOnly, adLockOptimistic, adCmdTable 

  If Session("PersonID") <> "" Then                       ' currently logged-on user 
    rsUsers.Filter = "PersonID = '" & Session("PersonID") & "'"   
  Else                                                                 ' New session 
    rsUsers.Filter = "EMailAddress = '" & Request.Form("email") & "'" & _ 
                     "AND Password = '" & Request.Form("password") & "'" 
    If rsUsers.EOF Then                                             ' User not found 
      rsUsers.AddNew                                         ' ...so add a new record (THIS IS LINE 35) 
'   Else 
'     Email address and password matched with DB records - 
'     In this case we'll allow this to update user's personal details 
    End If 
  End If 
                                                  ' write personal details to record 
  rsUsers("EMailAddress") = Request.Form("email") 
  rsUsers("Password") = Request.Form("password") 
  rsUsers("FamilyName") = Request.Form("FamilyName") 
  rsUsers("GivenName") = Request.Form("GivenName") 
  rsUsers("StreetAddress1") = Request.Form("Address1") 
  rsUsers("StreetAddress2") = Request.Form("Address2") 
  rsUsers("City") = Request.Form("City") 
  rsUsers("State") = Request.Form("State") 
  rsUsers("PostalCode") = Request.Form("PostalCode") 
  rsUsers("Country") = Request.Form("Country") 
  rsUsers("Active") = True 
  rsUsers("LastLogin") = Now 
  rsUsers.Update                                               ' update the database 

  Dim strName, strValue                                   ' create session variables 
  For each strField in rsUsers.Fields 
    strName = strField.Name 
    strValue = strField.value 
    Session(strName) = strValue 
  Next 
  Session("blnValidUser") = True         ' declare that current user is validated 
  Response.Redirect "MenuForRegisteredUsers.asp" 
%>
Reply With Quote