Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1340
  • Last Modified:

Type mismatch line 0

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
MIKEV
Asked:
MIKEV
  • 6
  • 6
  • 5
  • +3
4 Solutions
 
alorentzCommented:
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
 
MIKEVAuthor Commented:
Same error.
0
 
MIKEVAuthor Commented:
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
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
mouattsCommented:
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
 
mouattsCommented:
or 0 if it is empty and 1 if it is null.
0
 
jitgangulyCommented:
Does ity happen with any session variables or just this one ?
0
 
alorentzCommented:
So where are you setting session("groupselectedname") initially?  Looks like your setting them back and forth, don't understand!
0
 
sknightCommented:
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
 
MIKEVAuthor Commented:
mouatts:  When I add that line it prints '8204'. (?)
0
 
alorentzCommented:
An array?  How'd it become an array?
0
 
alorentzCommented:
Try this:

Response.write "Value: " & groupselectedname(0)
0
 
mouattsCommented:
Worse still its an array of varients.

Steve
0
 
alorentzCommented:
OR:

Response.write "Value: " & session("groupselectedname")(0)
0
 
MIKEVAuthor Commented:
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
 
MIKEVAuthor Commented:
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
 
alorentzCommented:
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
 
mouattsCommented:
It won't work because its a varient as I mentioned earlier. We need to look at where groupselectedname is first initialised.
Steve
0
 
sknightCommented:
Can you show the code that originally creates the value(s) for groupselectedname ?
0
 
mouattsCommented:
My comment refers to MIKEVs comment not alorentz's
0
 
sybeCommented:
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
 
MIKEVAuthor Commented:
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

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 6
  • 6
  • 5
  • +3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now