| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 565 人关注过本帖
标题:vbscript ADODB.Stream(0x800A0BB9)错误,求教高手指点
只看楼主 加入收藏
xfychina
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-5-10
收藏
 问题点数:0 回复次数:0 
vbscript ADODB.Stream(0x800A0BB9)错误,求教高手指点
各位老师好,本人新手一名.学着写了三个页面,三个页面分别为:admin_cptj.asp(产品添加);formdata.inc.asp(获取字段值);function.inc.asp(函数调取).
如果admin_cptj.asp(产品添加)不加有错误继续执行代码("on error resume next")就会报(如下图)错误,我一直没看出冲突原因,请高手帮忙看一下冲突原因,另外我这样是否正确,是否影响使用或者占用服务器资源.谢谢

图片附件: 游客没有浏览图片的权限,请 登录注册


以下是三个页面具体代码:
admin_cptj.asp(产品添加)
程序代码:
 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!-- #include file="../config/db.asp"-->
<!-- #include file="../config/function.inc.asp"-->

<%
  on error resume next
  set rst=server.CreateObject("adodb.recordset")
  set fs=server.CreateObject("scripting.filesystemobject")
%>
<!-- #include file="../config/formdata.inc.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.>
<html xmlns="http://www.>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>留言显示</title>
</head>
<body>
<%
if  session("acc")=false then
  msgboxU"未登录或非法操作! 请重新登录"
  response.write("<meta http-equiv='Refresh' content='0.2;URL=admin_dl.asp' /> ")
else
   dim sql,sql1,rst,page,pagelistnum,myErrors,errstr,addselectwords
   if request.QueryString("act")="add" then
     if trim(formdata.item("f_title"))="" or trim(formdata.item("f_image"))="" or trim(formdata.item("f_content"))="" then
       msgboxU"录入信息不全,请填写完整!"
     else 
      sql="tbl_goods"
      rst.open sql,conn,1,3
      rst.addnew
      rst("gds_name")=formdata.item("f_title")
      rst("gds_img")=formdata.item("f_image")
      rst("gds_info")=formdata.item("f_content")  
      rst.update
      rst.close
      set MyErrors=conn.errors
      if MyErrors.count=0 then
        msgboxU "添加产品成功!"
      else
        msgboxU "添加产品失败! 原因" &myErrors.item(0).description
     '删除已经上传的文件
        fs.deletefile server.MapPath("../upfile") & "\" & formdata.item("image")
     end if
   end if
  end if

 end if

'处理添加新闻
%>
<div>
  <table width="865" border="0">
    <tr>
      <td height="29" colspan="4" align="center" bgcolor="#0066CC">后台管理系统</td>
    </tr>
    <tr>
      <td width="198" height="30" align="center" bgcolor="#0099CC"><table >
        <tr>
          <td><a href="admin_index.asp?act=liuyan">留言管理</a></td>
        </tr>
      </table></td>
      <td width="197" height="30" align="center" bgcolor="#0099CC"><table >
        <tr>
          <td><a href="admin_index.asp?act=news">新闻管理</a></td>
        </tr>
      </table></td>
      <td width="197" align="center" bgcolor="#0099CC"><table >
        <tr>
          <td><a href="admin_index.asp?act=chanping">产品管理</a></td>
        </tr>
      </table></td>
      <td width="255" align="center" bgcolor="#0099CC"><table >
        <tr>
          <td><a href="admin_index.asp?act=anything">其它管理</a></td>
        </tr>
      </table></td>
    </tr>
    <tr>
      <td height="572" colspan="4" valign="top">
      <table width="824" height="393" border="1">
      <form action="admin_cptj.asp?act=add" method="post" enctype="multipart/form-data" name="form1" id="form1">
        <tr>
          <td width="182" height="38" bordercolor="#666666" bgcolor="#0099CC">产品标题</td>
          <td width="626" height="38" bordercolor="#666666"><input name="f_title" type="text" size="30" />          </td>
        </tr>
        <tr>
          <td height="38" bordercolor="#666666" bgcolor="#0099CC">产品图片</td>
          <td height="38" bordercolor="#666666"><input type="file" name="f_image" /></td>
        </tr>
        <tr>
          <td height="265" bordercolor="#666666" bgcolor="#0099CC">产品描述</td>
          <td height="265" bordercolor="#666666"><textarea name="f_content" cols="80" rows="20"></textarea></td>
        </tr>
        <tr>
          <td height="40" bordercolor="#666666">&nbsp;</td>
          <td height="40" bordercolor="#666666"><input type="submit" name="Submit" value="添加" />
                  
              <input type="reset" name="Submit2" value="取消" /></td>
        </tr>
         </form>
      </table>
    
      </td>
    </tr>
  </table>

 
</div>
</body>
</html>







formdata.inc.asp(获取字段值)
程序代码:
<!-- #include file="../config/function.inc.asp"-->
<%
dim data,datalength,fstart,fend,tstart,tend,tinfo,flag,flaglen,tformname,tfile,tfilename,tfilepath,tfileext,sfilename,formdata,updata,tmpdata,tcrlf
set formdata=server.CreateObject("scripting.dictionary")
set updata=server.CreateObject("adodb.stream")
set tmpdata=server.CreateObject("adodb.stream")
updata.type=1 '设置对象的数据类型为二进制数据
updata.mode=3 '设置对象的打开模式为读写模式
updata.open '打开对象
updata.write request.BinaryRead(request.TotalBytes)
updata.position=0
data=updata.read
datalength=updata.size
tcrlf=chrb(13) & chrb(10) '回车符号代码
flag=leftb(data,instrb(data,tcrlf)-1) '获取每个表单项目数据之间分隔符
fstart=lenb(flag)+2 '搜索开始位置 加2是因为分隔符后有一个回车符号占两个字节
flaglen=fstart '分隔符长度,包含了后面的回车符
'循环处理表单元素
do

'分离出表单元素信息 即从开始查找位置到有两个回车符之间的信息
fend=instrb(fstart,data,tcrlf&tcrlf)+3
'初始化临时STREAM对象
tmpdata.type=1
tmpdata.mode=3
tmpdata.open
'设置指针位置
updata.position=fstart
updata.copyto tmpdata,fend-fstart '将元素表单信息复制到临时STREAM对象
fstart=instrb(fend,data,flag)-1 '查找下一个分隔符所在位置
'fstart=instrb(fend,data,flag)
tmpdata.position=0
tmpdata.type=2 '设置读取方式为文本
tmpdata.charset="gb2312" '设置编码方式为GB2312
tinfo=tmpdata.readtext
'取得表单元素的名称
tstart=instr(22,tinfo,"name=""")+6
tend=instr(tstart,tinfo,"""",1)
tformname=mid(tinfo,tstart,tend-tstart)
'获得表单元素的值
if instr(tstart,tinfo,"filename=""",1)>0 then '如果是文件
  tmpdata.close
  tmpdata.type=1
  tmpdata.mode=3
  tmpdata.open
  '取得文件属性
  tstart=instr(tend,tinfo,"filename=""",1)+10
  tend=instr(tstart,tinfo,"""",1)
  tfile=mid(tinfo,tstart,tend-tstart) '得到文件全路径
  if tfile<>"" then
    tfilename=mid(tfile,instrrev(tfile,"\")+1) '得到文件名
    tfilepath=left(tfile,instrrev(tfile,"\")) '得到文件路径
    tfileext=mid(tfile,instrrev(tfile,".")+1) '得到文件后缀
    sfilename=GetRndFileName(tfileext)
    ' response.Write tfilename & "<br>" & tfilepath & "<br>" & tfileext
    ' 得到文件数据
    updata.position=fend
    updata.copyto tmpdata,fstart-2-fend
    tmpdata.savetofile server.MapPath("../upfile") & "\" & sfilename,2
    formdata.add tformname,sfilename
  end if
else
'如果是表单元素
  tmpdata.close
  tmpdata.type=1
  tmpdata.mode=3
  tmpdata.open
  updata.position=fend '设置指针指向数据区域开始位置
  updata.copyto tmpdata,fstart-fend-2
  '复制数据到临时STREAM对象;复制长度为一下分隔符开始位置减-2,-2是因为要减掉最后的回车符长度
  tmpdata.position=0
  tmpdata.type=2
  tmpdata.charset="gb2312"
  formdata.add tformname,tmpdata.readtext
end if

fstart=fstart+flaglen
'得到下次搜索开始位置:分隔符开始位置加上分隔符长度得到下次搜索开始位置
tmpdata.close
loop while (fstart+2)<datalength '如果还没有到结果 因为结束标志--两个字节,所以这里要加上2后再判断
set tmpdata=nothing
updata.close
set updata=nothing
%>
;


function.inc.asp(函数调取)
程序代码:
<%
'在客户端弹出提示消息
sub msgboxU(str)
    response.write("<script language=vbscript>msgbox " &chr(34)&str&chr(34)&"</script>")
    end sub
   
    '截断字符串函数
function cutstr(str,length,addstr)
  if len(str)<=length then
    cutstr=str
  else
    cutstr=left(str,length)&addstr
  end if
end function

 
  '翻页函数
function fy(sql,page,pagelistnum,link)
  dim rs,znum,zpage
  page=cint(page)'将page转换成整数型
  set rs=server.createobject("adodb.recordset") 
  rs.open sql,conn,1,1
  znum=rs("num")
  '得到总页数
  zpage=znum\pagelistnum
  if znum mod pagelistnum>0 then zpage=zpage+1
  response.write""& zpage&"页,第"& page &""
  '得到第一页/上一页链接
  if page=1 then
  response.write "第一页,上一页"
  else
  response.write "<a href="& link &"&page=1>第一页</a><a href="& link & "&page=" & (page-1) &">上一页</a>"
  '得到上一页/最后页链接
  end if
  if page<zpage then
  response.write "<a href="& link &"&page="& (page+1) &">下一页</a><a href="& link &"&page="& zpage &">最后页</a>"
  else
  response.Write "下一页 最后一页"
  end if
  rs.close
  set rs=nothing
end function 

'编写随机不重复文件名
function GetRndFileName(sExt)
  dim sRnd
  Randomize
  sRnd=Int(900*Rnd)+100
  GetRndFileName=year(now) & month(now) & day(now) & hour(now) & minute(now) & second(now) & sRnd & "." & sExt
end function
%>


[ 本帖最后由 xfychina 于 2014-5-10 20:30 编辑 ]
搜索更多相关主题的帖子: 服务器 产品 影响 资源 
2014-05-10 20:21
快速回复:vbscript ADODB.Stream(0x800A0BB9)错误,求教高手指点
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.043270 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved