469,328 Members | 1,327 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,328 developers. It's quick & easy.

Request object error 'ASP 0105 : 80004005' ( Index out of range )

hI,
wOULD PLEASE HELP ME. I AM GETTIGN THE REQUEST OBJECT ERROS ASP 0105:
80004005 INDEX OUT OF RANGE ERROR. HERE IS THE SNIPPET OF CODE THAT I
AM USING. WHAT IS WRONG HERE? YOU CAN SEE WHAT I AM TRYING TO DO ADN
ERROR ON THIS LINK: http://www.walani.com/ProjectFiles/01_main.asp.

PLEASE HELP

<%
Dim iQuestions 'Holds the question
Dim nScore ' Holds the number of answer

'Set nScore to highest possible score
nScore = 3

iQuestions = 1
While Not objRS.EOF

'==================THIS IS WHERE THE ERROR IS
If Request.Form(objRS("QID")) = objRS("QCorrectAnswer") Then
bRightWrong = 1
Else
bRightWrong = 0
'~~~~~Set minus by number For how much Is counted off For Each
question~~~~~~
nScore = nScore - 1

End If
'~~~~Save the answers and grade to each question~~~~~~
strSQL = "INSERT INTO tblStudentTests
(STUserID,STQID,STAnswer,STRightWrong) VALUES ('" &
Request.Cookies("LoginData")("Login") & "@" &
Request.Cookies("LoginData")("Pass") & "', " & objRS("QID") & ",'" &
Request.Form(objRS("QID")) & "','" & bRightWrong & "')"
objConn.Execute(strSQL)

'~~~~~Show Question with Student answer and Grade~~~~~~
Response.Write(iQuestions & ". " & objRS("QQuestion") & ":<BR>")
Response.Write("Your Answer: " & Request.Form(objRS("QID")) & "<BR>")
Response.Write("<B>" & bRightWrong & "</B><BR><BR>")
objRS.MoveNext
iQuestions = iQuestions + 1
wend
%>
ANDY
Jul 19 '05 #1
6 6333
When I saw the all-caps, I almost deleted the message without reading it.
Please do not shout in the future. It makes your message hard to read. See
below for my response:

Andy wrote:
While Not objRS.EOF

'==================THIS IS WHERE THE ERROR IS


To be able to help you, we need to know what is contained in objRS("QID")
and the names and values of your form variables in Request. So do this:

Response.Write "QID contains :" & objRS("QID") & "<BR>"
Response.Write "The Form collection contains:<BR>"
for each key in Request.Form
Response.Write key & ": " & Request.Form(key) & "<BR"
next
response.end

If running this fails to show you what's wrong, post the results back here
so we can look at it.

Bob Barrows
--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"
Jul 19 '05 #2
Thanks bob. I have done what you suggested and here are the results from
your suggested code

QID contains :1
The Form collection contains:
1: Junkyard Wars<BR2: In my car<BR31: programming Language<BR

It looks like in the collection it is reading the second line before the
first one. I have checked in my database and th tables are linked
accordingly. One table has a list of questions with the correct answer.
Another table has a list of possible answers and i have linked this
using the question ID
Thanks once again.
What is wrong?

Bob Barrows wrote:
When I saw the all-caps, I almost deleted the message without reading it.
Please do not shout in the future. It makes your message hard to read. See
below for my response:

Andy wrote:

While Not objRS.EOF

'==================THIS IS WHERE THE ERROR IS

To be able to help you, we need to know what is contained in objRS("QID")
and the names and values of your form variables in Request. So do this:

Response.Write "QID contains :" & objRS("QID") & "<BR>"
Response.Write "The Form collection contains:<BR>"
for each key in Request.Form
Response.Write key & ": " & Request.Form(key) & "<BR"
next
response.end

If running this fails to show you what's wrong, post the results back here
so we can look at it.

Bob Barrows


Jul 19 '05 #3
Thanks Bob here are the results of what you suggested. It seems to work
as it picks up the correct object
QID contains :2
The Form collection contains:
1: Active Server Pages
2: In my car
31: Donít know

So what can be wrong then?
Thanks in advance for your help.

Andy
Bob Barrows wrote:
When I saw the all-caps, I almost deleted the message without reading it.
Please do not shout in the future. It makes your message hard to read. See
below for my response:

Andy wrote:

While Not objRS.EOF

'==================THIS IS WHERE THE ERROR IS



To be able to help you, we need to know what is contained in objRS("QID")
and the names and values of your form variables in Request. So do this:

Response.Write "QID contains :" & objRS("QID") & "<BR>"
Response.Write "The Form collection contains:<BR>"
for each key in Request.Form
Response.Write key & ": " & Request.Form(key) & "<BR"
next
response.end

If running this fails to show you what's wrong, post the results back here
so we can look at it.

Bob Barrows


Jul 19 '05 #4
Andy K wrote:
Thanks Bob here are the results of what you suggested. It seems to
work
as it picks up the correct object
QID contains :2
The Form collection contains:
1: Active Server Pages
2: In my car
31: Donít know

So what can be wrong then?
Thanks in advance for your help.

Andy
Bob Barrows wrote:
When I saw the all-caps, I almost deleted the message without
reading it. Please do not shout in the future. It makes your message
hard to read. See below for my response:

Andy wrote:

While Not objRS.EOF

'==================THIS IS WHERE THE ERROR IS

To be able to help you, we need to know what is contained in
objRS("QID") and the names and values of your form variables in
Request. So do this:

Response.Write "QID contains :" & objRS("QID") & "<BR>"
Response.Write "The Form collection contains:<BR>"
for each key in Request.Form
Response.Write key & ": " & Request.Form(key) & "<BR"
next
response.end

If running this fails to show you what's wrong, post the results
back here so we can look at it.

Bob Barrows


I suspect that in this line:

If Request.Form(objRS("QID")) = objRS("QCorrectAnswer") Then

the content of objRS("QID") is being interpreted as a number (why are you
using numbers for your form field names?) instead of a string, so instead of
looking for a form variable named "31", it's looking for the 31st item in
the form variables collection, which just isn't there.

As an initial try at working around this, you might try this:

If Request.Form(CStr(objRS("QID"))) = objRS("QCorrectAnswer") Then

If that does not work, then I suggest adding an alpha character to your form
field names, so that instead of being named 1,2,31, they are named f1, f2.
f31. This will allow you to do this:

If Request.Form("f" & objRS("QID")) = objRS("QCorrectAnswer") Then
HTH,
Bob Barrows
--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"
Jul 19 '05 #5
Bob,
I triedn converting the whole thing to a string as you suggested adn
that doesn't work as well.
Infact in my form name field is the same as the QID, which is an
AutoNumber in the access database. This is how I have assigned it.
Response.Write("<INPUT TYPE='radio' NAME='" & objRS("QID") & " VALUE='"
& objRS2("AAnswer") & "'>" & objRS2("AAnswer") & "<BR>")

This is on a different form.

Any Ideas, Thanks Bob

Bob Barrows wrote:
Andy K wrote:
Thanks Bob here are the results of what you suggested. It seems to
work
as it picks up the correct object
QID contains :2
The Form collection contains:
1: Active Server Pages
2: In my car
31: Donít know

So what can be wrong then?
Thanks in advance for your help.

Andy
Bob Barrows wrote:

When I saw the all-caps, I almost deleted the message without
reading it. Please do not shout in the future. It makes your message
hard to read. See below for my response:

Andy wrote:

While Not objRS.EOF

'==================THIS IS WHERE THE ERROR IS
To be able to help you, we need to know what is contained in
objRS("QID") and the names and values of your form variables in
Request. So do this:

Response.Write "QID contains :" & objRS("QID") & "<BR>"
Response.Write "The Form collection contains:<BR>"
for each key in Request.Form
Response.Write key & ": " & Request.Form(key) & "<BR"
next
response.end

If running this fails to show you what's wrong, post the results
back here so we can look at it.

Bob Barrows



I suspect that in this line:

If Request.Form(objRS("QID")) = objRS("QCorrectAnswer") Then

the content of objRS("QID") is being interpreted as a number (why are you
using numbers for your form field names?) instead of a string, so instead of
looking for a form variable named "31", it's looking for the 31st item in
the form variables collection, which just isn't there.

As an initial try at working around this, you might try this:

If Request.Form(CStr(objRS("QID"))) = objRS("QCorrectAnswer") Then

If that does not work, then I suggest adding an alpha character to yourform
field names, so that instead of being named 1,2,31, they are named f1, f2.
f31. This will allow you to do this:

If Request.Form("f" & objRS("QID")) = objRS("QCorrectAnswer") Then


HTH,
Bob Barrows


Jul 19 '05 #6
Thanks Bob,
It worked as you suggested. I had to conver everythign to string.

great, many thanks

Andy K wrote:
Bob,
I triedn converting the whole thing to a string as you suggested adn
that doesn't work as well.
Infact in my form name field is the same as the QID, which is an
AutoNumber in the access database. This is how I have assigned it.
Response.Write("<INPUT TYPE='radio' NAME='" & objRS("QID") & " VALUE='"
& objRS2("AAnswer") & "'>" & objRS2("AAnswer") & "<BR>")

This is on a different form.

Any Ideas, Thanks Bob

Bob Barrows wrote:
Andy K wrote:
Thanks Bob here are the results of what you suggested. It seems to
work
as it picks up the correct object
QID contains :2
The Form collection contains:
1: Active Server Pages
2: In my car
31: Donít know

So what can be wrong then?
Thanks in advance for your help.

Andy
Bob Barrows wrote:
When I saw the all-caps, I almost deleted the message without
reading it. Please do not shout in the future. It makes your message
hard to read. See below for my response:

Andy wrote:

> While Not objRS.EOF
>
> '==================THIS IS WHERE THE ERROR IS

To be able to help you, we need to know what is contained in
objRS("QID") and the names and values of your form variables in
Request. So do this:

Response.Write "QID contains :" & objRS("QID") & "<BR>"
Response.Write "The Form collection contains:<BR>"
for each key in Request.Form
Response.Write key & ": " & Request.Form(key) & "<BR"
next
response.end

If running this fails to show you what's wrong, post the results
back here so we can look at it.

Bob Barrows


I suspect that in this line:

If Request.Form(objRS("QID")) = objRS("QCorrectAnswer") Then

the content of objRS("QID") is being interpreted as a number (why are you
using numbers for your form field names?) instead of a string, so
instead of
looking for a form variable named "31", it's looking for the 31st itemin
the form variables collection, which just isn't there.

As an initial try at working around this, you might try this:

If Request.Form(CStr(objRS("QID"))) = objRS("QCorrectAnswer") Then

If that does not work, then I suggest adding an alpha character to
your form
field names, so that instead of being named 1,2,31, they are named f1,
f2.
f31. This will allow you to do this:

If Request.Form("f" & objRS("QID")) = objRS("QCorrectAnswer") Then
HTH,
Bob Barrows




Jul 19 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

6 posts views Thread by Christopher Brandsdal | last post: by
10 posts views Thread by thomas parquier | last post: by
1 post views Thread by P Cooper | last post: by
6 posts views Thread by Daniel Rimmelzwaan | last post: by
1 post views Thread by CARIGAR | last post: by
reply views Thread by zhoujie | last post: by
reply views Thread by suresh191 | last post: by
reply views Thread by haryvincent176 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.