Need some help while my hair is still (mostly) intact. I've isolated this code out of a larger file (which i'm developing at the moment).

Code is as follows:



<!--#include file="dbconfile.asp"-->
<%
set Rs=server.createobject("adodb.recordset")
set cratedict=server.createobject("scripting.dictionary")
Rs.open "select top 5 bindtype, rate from current_rates where type='sp' and identifier=2051 order by bindtype",DatabaseConnection
while not Rs.eof
response.write replace(trim(Rs("bindtype")),"_","")&" - "&trim(Rs("rate"))&"<br>"
cratedict.add replace(trim(Rs("bindtype")),"_",""),Rs("rate")

Rs.movenext
wend
Rs.close
response.write "<hr>"
response.write cratedict.count&" count<br>"
g=cratedict.item("bp")
%>


/end code

Result is as follows:

bp - 1
bterms - 1
billtoperson - 2161
cdpd - 2
cdps - 0.1

------------------
5 count

ADODB.Field error '800a0d5c'

Object is no longer valid.

testdict.asp, line 15


/end result

Why would it give me the count on line 14, but not return the value on line 15?
Now, the thing is, i'm using dictonary objects in other scripts with no errors, and i can't for the life of me figure out what's going on.