资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

为什么把ACCESS库转成SQL库后程序运行出错?大家帮帮我

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

为什么把ACCESS库转成SQL库后程序运行出错?  
  出错提示:  
   
  ADODB.Recordset   错误   800a0cb3    
  当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。  
  /jiuye/showVote.asp,行   48    
   
  当是ACCESS的时候完全正常,程序是:  
  sub   postvote()  
  dim   voteid  
  dim   vote,votenum  
  dim   j,votenum_1,votenumlen  
  dim   postnum,postoption  
   
   
  set   rs=server.createobject("adodb.recordset")  
  sql="select   top   1   *   from   vote   order   by   voteid   desc"  
  rs.open   sql,conn,3,3  
  if   rs.eof   and   rs.bof   then  
  Errmsg=Errmsg+"请您选择投票的主题进行投票!"  
  response.write   Errmsg  
  exit   sub  
  else  
  votenum=split(rs("votenum"),"|")  
  for   j   =   0   to   ubound(votenum)  
  if   cint(request("postvote"))=j   then  
  votenum(j)=votenum(j)+1  
  postoption=j  
  end   if  
  votenum_1=""&votenum_1&""&votenum(j)&"|"  
  postnum=1  
  next  
  if   postnum=""   or   isnull(postnum)   then  
  Errmsg=Errmsg+"<br>"+"<li>请选取投票项目。"  
  response.write   Errmsg  
  exit   sub  
  end   if  
  votenumlen=len(votenum_1)  
  votenum_1=left(votenum_1,votenumlen-1)  
   
  这里错误: rs("votenum")=votenum_1  
  rs("voters")=rs("voters")+1  
   
  rs.update  
  end   if  
  rs.close  
  set   rs=nothing  
  response.redirect("showVote.asp?VoteID="&voteid)  
  response.write   "<script>window.location.href=showVote.asp;</script>"  
  end   sub    
   
  倒数第九行错  
  是什么原因呢,我找了很久都没找到,大家帮我看看  
  votenum类型是nvarchar     值如:18|9|8|1|0|1

网友回答:

发表者:wch0410

转换后的数据类型和以前是否一致?

发表者:twt326

rs.open   sql,conn,3,3  
  改成  
  rs.open   sql,conn,1,1  
  试试  
   
 

发表者:srl

转换的字段类型一定有不一样的,你仔细查看一下。

发表者:fanraymond

一一般转换以后,access的自动编号会变成int,你应该好好看看你的字段类型!!

发表者:bladeinside

rs("votenum")=votenum_1  
   
  ------->  
  rs.addnew  
  rs("votenum")=votenum_1

发表者:tpf9000

ADODB.Recordset(0x800A0CB3)-->数据库以只读方式打开,无法更新数据  
  看看

发表者:bladeinside

不好意思   看错了。  
 

发表者:bladeinside

rs.open   sql,conn,3,3  
   
  -----》  
  rs.open   sql,conn,2,3  
  或者  
  rs.open   sql,conn,1,3

发表者:QWERT520

从ACCESS转入SQL后一般它的类型会发生改变  
  导致程序出错你好好验查一遍  
  现在SQL里的类型可能是类型问题出错

发表者:dreammoci

不是你后面的代码问题,是rs.open   sql,conn,3,3这里的问题,你可以这样写  
  rs.CursorLocation   =   3  
  rs.CursorType   =   1  
  rs.LockType   =   3  
   
 

发表者:dreammoci

锁定类型的限制,除了游标,还有可能你的关键字,在转换的时候没有转过来,当关键字不可以为空,你又没有把他设为自动编号,而程序里也没有给他写内容进去时也会这样。

发表者:yuqianloveme

SQL与ACSESS   日期型表达方式不同的.有一种是要加##

发表者:dreammoci

votenum(文本)-->votenum(text)  
  text,你改成varchar把,把字段长度设长一些

发表者:QWERT520

出错提示是什么???

发表者:uoche

ADODB.Recordset(0x800A0CB3)  
  数据库以只读方式打开,无法更新数据  
  你把数据库的权限重新设置下,  
  如果还有组件的话,把文件夹的权限也改成可写入的  
 

发表者:QWERT520

你在发布的虚拟目录那里改一下权限设置

发表者:alanxua

一般自动编号(INT)要选择自动递加为是

发表者:tutu944

换varchar属性


 

 
热门推荐笔记本: IBM笔记本
相关文章:
笔记本相关:
IT技术文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved