注册 登录
编程论坛 ASP.NET技术论坛

求助!报错类型不匹配,高手请进

surpass_jn 发布于 2009-08-01 11:29, 816 次点击
错误如下:

1000000
Microsoft VBScript 运行时错误 错误 '800a000d'

类型不匹配

/user/TransferJb.asp,行 72





<%
  dim login
  login=replace(trim(request.Form("login")),"'","")
  if login="true" then
     dim username,money,BankPassWord,MemberOrder,BMoney,userid,Money1,Cip,sql,getdate
     'getdate=datetime()
     'response.Write getdate
     'response.End()
         CIP = Left(Replace(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),"'",""),18)
        If CIP = "" Then CIP = Request.ServerVariables("REMOTE_ADDR")
     username=replace(trim(request.Form("username")),"'","")
     money=replace(trim(request.Form("money2")),"'","")
     BankPassWord=replace(trim(request.Form("BankPassWord")),"'","")
    
     if Session("UserName")=username then
        response.Write("<script language='javascript'>alert('不能对自己转帐!');history.go(-1);</script>")
        response.End()
     end if    
    
     CxGame.DbConn("QPGameUserDB")
     Set md5= New MD5obj
     BankPassWord=md5.calcMD5(BankPassWord)
     set rs=conn.execute("select * from AccountsInfo where UserID="&Session("UserID")&" and  InsurePass='"& BankPassWord &"'")
       if rs.eof then
          response.Write("<script language='javascript'>alert('您的银行密码错误!不能进行取银子操作');history.go(-1);</script>")
          response.End()
       else
          MemberOrder=clng(rs("MemberOrder"))          
       end if
       
     set rs=conn.execute("select * from AccountsInfo where Accounts='"& username &"'")
     if rs.eof then
        response.Write("<script language='javascript'>alert('没有此用户,请确认用户名是否正确!');history.go(-1);</script>")
        response.End()
     else
        userid=rs("userid")
     end if
    
     if clng(session("money")) < 10001 then
        response.Write("<script language='javascript'>alert('你没有太多的银子,不能转帐!');history.go(-1);</script>")
        response.End()
     end if
    
     if 100000 > clng(money) then
        response.Write("<script language='javascript'>alert('每次最少转帐100000!');history.go(-1);</script>")
        response.End()
     end if
    
     if clng(session("money"))-clng(money)<10000 then
        response.Write("<script language='javascript'>alert('保底银子为10000!');history.go(-1);</script>")
        response.End()
     end if
    
     if MemberOrder < 1 then
        BMoney=clng(money)*0.02
     end if
     if MemberOrder = 1 then
        BMoney=clng(money)*0.01
     end if
     if MemberOrder > 1 then
        BMoney=clng(money)
     end if
     Money1=clng(money)-clng(BMoney)
     response.Write Money
    
     CxGame.DbConn(RLWebDBPrefix&"TreasureDb")
     sql="insert into GameScoreTransfersLog (UserID,GameID,UserName,GameName,Money,BMoney,DateTime,IP) values ("& Session("UserID") &","& Session("GameID") &",'"& Session("UserName") &"','"& username &"',"& Money &","& BMoney &",'"& getdate() &"','"& Cip &"')"     =============》72行
response.Write sql
     response.End()
     set rs=conn.execute("insert into GameScoreTransfersLog (UserID,GameID,UserName,GameName,Money,BMoney,DateTime,IP) values ("&Session("UserID")&","& Session("GameID") &",'"& Session("UserName") &"','"& username &"',"& Money &","& BMoney &",'"& date() &"','"& Cip &"')")
    
     set rs=conn.execute("update GameScoreInfo set score=score-"& money &" where userid="&Session("UserID")&"")
     set rs=conn.execute("update GameScoreInfo set score=score+"& Money1 &" where userid="& userid &"")
     session("money")=clng(session("money"))-clng(money)
     response.Write("<script language='javascript'>alert('转帐成功!');location.href='TransferJb.asp';</script>")
  end if
%>


数据库图片
2 回复
#2
bozl2009-08-02 11:07
Session("UserID") 这是个CHAR类型,
与你的INT类型不匹配,只要把数据库里对应的字段的类型改成CHAR就行了
#3
saitor2009-08-03 09:50
楼上神人改数据库......
Session出来的是object类型,请转成你数据库所对应的类型
1