奇怪!数据库不能更新!Why?

wulang 2001-11-14 09:12:51
本来一直没有问题,可昨日重装系统之后,就出现了一个很奇怪的问题,ASP中数据库不能更新了!

不论是用ODBC还是OLEDB,也不论是使用数据源还是连接串,而且不管CursorType、LockType和CursorLocation设为什么,数据库就是不能更新。

查看日志文件,里面有这样一条:"POST /aaa.asp?|12|80004005|[Microsoft][ODBC_Microsoft_Access_Driver]_不能更新。数据库或对象为只读。 HTTP/1.1" 500 426

我可以肯定数据库没有被锁定、占用和设为只读,因为用在VB中用相似的代码可以更新。

新装系统为Win2000Pro SP2、Office2000、VS6 SP5,其他什么都没装。以装过两遍都如此,难道这样装就会有问题?

<!--#include file="adovbs.inc"-->
<%
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
strDSN = "FILEDSN=abc.dsn"
strSQL = "select * from ccc"
cn.Open strDSN
rs.Open strSQL, cn, adOpenForwardOnly, adLockOptimistic

rs.Fields("aaa") = "2" '问题就出在这里
rs.Fields("bbb") = "1" '如果把这两行注释掉,就没问题
rs.Update '

rs.Close
cn.Close
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<body>
<%=rs.Fields("aaa")%>
</body>
</html>
...全文
62 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
netying 2001-11-18
  • 打赏
  • 举报
回复
pu
wulang 2001-11-17
  • 打赏
  • 举报
回复
我想我的程序的语法应该是没错的。rs.fields()的默认属性是value,所以不用加。程序不是在这里出错的,而是在更新时出的错。

现在问题已经初步解决了,但是解决的方法很奇怪:
1.如果不使用FrontPage扩展,则没有问题。
2.如果使用了FrontPage扩展,只要在FrontPage的站点设置的数据源中任意设置一个数据源(与程序中所用的数据库无关的,但一定要在同一目录下),就没有问题了。
chi0591 2001-11-14
  • 打赏
  • 举报
回复
试一试Rs.Fields("aaa").value = "2"
liaogs 2001-11-14
  • 打赏
  • 举报
回复
没见过rs.fields("aaa"),这是什么?为什么要这样用?

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧