I'm getting a very cryptic error message from ADO (running through ASP):

Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
If occurs halfway through adding a record or updating an existing one.

I just can't for the life of me work out what the error is trying to tell me. I've looked through the connection, recordset and error objects' errors collection but they only contain the message above. Does anyone know how to "Check each OLE DB status value"?

For what it's worth the code is as follows, although I don't think the problem is related directly to the code.

Code:
oRS.Open "SELECT * FROM Auth WHERE Login_ID='" & sICUser & "';", oConn, adOpenDynamic, adLockOptimistic
		
If oRS.BOF And oRS.EOF Then
	oRS.AddNew
	oRS("Acct_number") = GetLastAcct_Number ' Function to get the next available ID
End If

If sICUser = sUsername Then sICUser = Make_IC_Username
		
oRS("Login_ID") = sICUser
oRS("Password") = sPasswd_1
oRS("Account_Status") = "enabled"
oRS("Service") = sService
oRS("EmailAdd") = sUsername & "@" & sDomain
oRS("Title") = sTitle	
oRS("Firstname") = sFirstname
oRS("Surname") = sSurname
oRS("Dayofbirth") = iDob_Day
oRS("Monthbirth") = iDob_month
oRS("Yearbirth") = iDob_year
oRS("Addressl1") = sAddress_1
oRS("Addressl2") = sAddress_2
oRS("Town") = sTown
oRS("County") = sCounty
oRS("Postcode") = sPostcode
oRS("Telephone") = sTelephone
oRS("CustGender") = sGender
oRS("AccStatus") = "y"
oRS("Mobile") = sMobile
oRS("UseMobile") = bUse_Mobile
oRS("ContactEmail") = sOldUsername & "@" & sDomain
oRS("DateSign") = GetGoodDate ' Function to make a date that the DB likes
oRS("SecurityQU") = sSec_Ques
oRS("SecurityAnswer") = sSec_Answ
oRS("Arts_and_Culture") = "n"
oRS("Automotive") = "n"
oRS("Computing") = "n"
oRS("Education_and_Jobs") = "n"
oRS("Entertainment") = "n"
oRS("Finance") = "n"
oRS("Food_and_Drink") = "n"
oRS("Health_and_Fitness") = "n"
oRS("Home_and_Family") = "n"
oRS("Internet") = "n"
oRS("Kids") = "n"
oRS("Men") = "n"
oRS("News_and_Weather") = "n"
oRS("Recreation") = "n"
oRS("Shopping") = "n"
oRS("Sport") = "n"
oRS("Travel") = "n"
oRS("Women") = "n"
oRS.Update
		
oRS.Close
Set oRS = Nothing