Solved

Type mismatch line 0

Posted on 2004-03-30
21
1,265 Views
Last Modified: 2012-08-14
I have this in my ASP page:

session("test") = "Testing"
session("groupselectedname") = groupselectedname
Response.Write session("test")
Response.Write session("groupselectedname")

The last line returns this error:

Testing
Response object error 'ASP 0106 : 80020005'

Type Mismatch

ASPDisplay.asp, line 0
An unhandled data type was encountered.

If my variable prints out fine, why does the second one bomb out?  I know, your next question is "what is the value of groupselectedname?"  I don't know, any attempt to display or convert its value returns the above error.  Why can't I do anything with that value?

Thanks!
0
Comment
Question by:MIKEV
  • 6
  • 6
  • 5
  • +3
21 Comments
 
LVL 31

Expert Comment

by:alorentz
Comment Utility
Well where do you set the value of groupselectedname?  You have to have some idea of what's in it?

Response.write "Value: " & groupselectedname

Do that give an error too?
0
 

Author Comment

by:MIKEV
Comment Utility
Same error.
0
 

Author Comment

by:MIKEV
Comment Utility
Here's the line that assigns it:

groupselectedname = session("groupselectedname")

if I do right after it:

response.write session("groupselectedname") ' or
response.write groupselectedname

I get the above error each time.  The code takes the current selection, modifies it and then re-assigns it back to session memory.  Later on in the code it does the opposite, as above.  No errors are ever returned from the code unless I try to print any of the values.
0
 
LVL 11

Expert Comment

by:mouatts
Comment Utility
Can you do a
response.write varType(groupselectedname)
I suspect that groupselectedname is an object or binary data (9, 12,13 or 17 will be displayed if I am right.

Steve
0
 
LVL 11

Expert Comment

by:mouatts
Comment Utility
or 0 if it is empty and 1 if it is null.
0
 
LVL 20

Expert Comment

by:jitganguly
Comment Utility
Does ity happen with any session variables or just this one ?
0
 
LVL 31

Expert Comment

by:alorentz
Comment Utility
So where are you setting session("groupselectedname") initially?  Looks like your setting them back and forth, don't understand!
0
 
LVL 1

Assisted Solution

by:sknight
sknight earned 50 total points
Comment Utility
I'd recommend dimming your variables first:

Dim groupselectedname
response.write(groupselectedname)
response.end
session("test") = "Testing"
session("groupselectedname") = groupselectedname
Response.Write session("test")
Response.Write session("groupselectedname")

Try that code, it should simply write the value of groupselectedname to the screen, at least you know what the value is, and you can sort out any datamismatches from there.  The test session is a static bit of text, however the groupselectedname session is a variable, and likelyhood is, it might be empty.
0
 

Author Comment

by:MIKEV
Comment Utility
mouatts:  When I add that line it prints '8204'. (?)
0
 
LVL 31

Expert Comment

by:alorentz
Comment Utility
An array?  How'd it become an array?
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 31

Expert Comment

by:alorentz
Comment Utility
Try this:

Response.write "Value: " & groupselectedname(0)
0
 
LVL 11

Expert Comment

by:mouatts
Comment Utility
Worse still its an array of varients.

Steve
0
 
LVL 31

Expert Comment

by:alorentz
Comment Utility
OR:

Response.write "Value: " & session("groupselectedname")(0)
0
 

Author Comment

by:MIKEV
Comment Utility
Response.write "Value: " & session("groupselectedname")(0)

returns:

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'session(...)'

/ebas/error.asp, line 60


How do you print an element from a session array variable?  These don't work:

session("oldselectedname")(0)
session("oldselectedname(0)")

Any other guesses?  (thx guys)
0
 

Author Comment

by:MIKEV
Comment Utility
This doesn't work:

Dim Myselection
Myselection = session("groupselectedname")

response.write myselection(1) ' Type mismatch

for a=1 to 8
    response.write a & ":" & myselection(a) & "<BR>" ' type mismatch
next
0
 
LVL 31

Assisted Solution

by:alorentz
alorentz earned 200 total points
Comment Utility
This is how:
Response.write "Value: " & session("groupselectedname")(0)
 
But it won't let you access it as an array.

However, where are you assigning either of these variables to an actual value.  In your examples yuo're just setting to each other, without ever putting in a value.

At least do this:

groupselectedname = ""

session("test") = "Testing"
session("groupselectedname") = groupselectedname
Response.Write session("test")
Response.Write session("groupselectedname")
0
 
LVL 11

Accepted Solution

by:
mouatts earned 200 total points
Comment Utility
It won't work because its a varient as I mentioned earlier. We need to look at where groupselectedname is first initialised.
Steve
0
 
LVL 1

Expert Comment

by:sknight
Comment Utility
Can you show the code that originally creates the value(s) for groupselectedname ?
0
 
LVL 11

Expert Comment

by:mouatts
Comment Utility
My comment refers to MIKEVs comment not alorentz's
0
 
LVL 28

Assisted Solution

by:sybe
sybe earned 50 total points
Comment Utility
the variable "groupselectedname"  is an array.
But it can be an array of anything, it can be an array of arrays or an arry of objects, or a multi-dimensional array. You have to find out what it's elements are.

To find it's dimension, you can use this function:

<%
Function GetArrayDimension(ByVal aArray, ByVal iMax)
    Dim iCount, iTest
    On Error Resume Next
    For iCount = 1 To iMax
        iTest = UBound(aArray,iCount)
        If Err Then Exit For
    Next
    GetArrayDimension = iCount -1
    Err.Clear
End Function
%>
0
 

Author Comment

by:MIKEV
Comment Utility
The real problem is that this entire app was written by a dumbass.  No variable initializations, no code comments and a train of logic that defies.... logic.  He stores dates in text fields, making date based SQL queries more or less impossible.  It's not that he doesn't know how to program, he's been doing it for 40 years and programs like it's still 40 years ago.

However, thanks to all for the suggestions, you did help me understand the syntax and structure he's attempting to use.  I'll split the points as best I can...

Thanks!
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

I have helped a lot of people on EE with their coding sources and have enjoyed near about every minute of it. Sometimes it can get a little tedious but it is always a challenge and the one thing that I always say is:  The Exchange of information …
Have you ever needed to get an ASP script to wait for a while? I have, just to let something else happen. Or in my case, to allow other stuff to happen while I was murdering my MySQL database with an update. The Original Issue This was written…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

7 Experts available now in Live!

Get 1:1 Help Now