| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1503 人关注过本帖
标题:求助:为何记录集不能更新?
只看楼主 加入收藏
chenyao
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-8-26
收藏
 问题点数:0 回复次数:9 
求助:为何记录集不能更新?
本人在一个程序中遇到了如下的错误:
  错误类型:
ADODB.Recordset (0x800A0CB3)
当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。

程序在其他机子上可以进行数据库插入操作,就是不能在自己机子上运行,所以程序应该么问题,
              本人机子上的Microsoft Jet 4.0 数据库引擎Jet 4.0 Service Pack 版本级别是安全公告 MS04-014,操作系统是winXp sp2,是不是Microsoft Jet 4.0 数据库引擎有问题呢?
    希望各位大哥能帮小弟解决一下这个问题!
搜索更多相关主题的帖子: Microsoft 数据库 操作系统 Jet 引擎 
2005-08-28 21:52
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
不能更新纪录集的错误可能性很多,不知道源代码我也无法确定错误类型。
2005-08-28 21:59
chenyao
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-8-26
收藏
得分:0 
原代码是: <!-- #include file="ADOFunctions.inc" --> <% '读取签写留言界面输入的表单数据 UserName = Request("UserName") Email = Request("Email") Title = Request("Title") Content = Request("Content") CurrentTime = Now() sql = "select * from liuyan" set objRS = server.createobject("adodb.recordset") objRS.open sql,objConn,1,2 if objRS.Supports(adAddNew) then objRS.addnew array("作者","Email","标题","内容","时间"),array(UserName,Email,Title,Content,CurrentTime) objRS.Update end if Response.Redirect("GuestBook.asp") objRS.Close Set objRS = Nothing objConn.Close Set objConn = Nothing %>
2005-08-28 22:03
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
objRS.open sql,objConn,1,2

错误出在这句话,应该改为

objRS.open sql,objConn,1,3

这样应该可以更新了后面的2是记录集的类型,楼主设定的类型应该是不支持objRS.Update方法的记录集类型。3是可以支持更新的,如果再不能更新。那就请检查数据库的问题。
2005-08-28 22:11
chenyao
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-8-26
收藏
得分:0 
试过了 还是不行啊
2005-08-28 22:13
chenyao
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-8-26
收藏
得分:0 
数据库哪里会出现问题呢
2005-08-28 22:16
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
数据库如果表之间使用了表间关系,或设定了主外键关系。可能会不允许更新。

不知楼主的所更新数据库表的结构是什么?
2005-08-28 22:23
chenyao
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-8-26
收藏
得分:0 
数据库里没有设定表间关系啊 就是单个的表啊
2005-08-28 22:29
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
那楼主可以使用另外一种更新方法试试。 objRS.addnew array("作者","Email","标题","内容","时间"),array(UserName,Email,Title,Content,CurrentTime) 假设楼主的表的字段名称如下按照楼主的代码可以改为 UserName,Email,Title,Content,CurrentTime objRS.addnew objRS.Fields("UserName").Value=UserName objRS.Fields("Email").Value=Email objRS.Fields("Title").Value=Title objRS.Fields("Content").Value=Content objRS.Fields("CurrentTime").Value=CurrentTime objRS.Update 如果再不管用,那没办法了。
2005-08-28 22:35
chenyao
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-8-26
收藏
得分:0 
都试过了 就是不行,我看是不是Microsoft Jet 4.0 数据库引擎有问题啊
2005-08-28 23:06
快速回复:求助:为何记录集不能更新?
数据加载中...
 
   



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

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