刚建了动网论坛,怎么和数据库连接,现在不能注册,没有数据库设置,请指点。

发布时间:2024-05-15 15:46 发布:上海旅游网

问题描述:

刚建了动网论坛,怎么和数据库连接,现在不能注册,没有数据库设置,请指点。
注册时提示:
ADODB.Recordset 错误 '800a0cb3'

当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。

/reg.asp,行 492

问题解答:

ADODB.Recordset 错误 '800a0cb3'

当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。

原来的代码是:

sql="select top 1 * from tbl"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,3
rs.addnew
................

以前用这种方法一直没有问题,遂Google了一下,发现有个网友有个类似的错误,不过他打开数据集是

rs.open sql,conn,1,1,改为 rs.open sq1,conn,1,3就OK了,但我本身就是以打读写方式打开的呀。

再看一下我的数据库,这个表中的记录为空,当查询第一条记录时,返回记录集为空,是不是SQL语句有问题?换了下SQL语句:由

sql="select top 1 * from tbl"

改为了:

sql="select * from tbl where 1=2"

再试,就OK了,但还有些迷惑的地方,先记一下。

鉴于前文ADODB.Recordset 错误 '800a0cb3' 的解决办法
我收集补充了一个小知识:rs.open sql,conn,1,1全接触

在连接DB的时候用到,就该知道代表什么意思了

RS.OPEN SQL,CONN,A,B

A:

ADOPENFORWARDONLY(=0)
只读,且当前数据记录只能向下移动

ADOPENKEYSET(=1)
只读,当前数据记录可自由移动

ADOPENDYNAMIC(=2)
可读写,当前数据记录可自由移动

ADOPENSTATIC(=3)
可读写,当前数据记录可自由移动,可看到新增记录

B:

ADLOCKREADONLY(=1)
缺省锁定类型,记录集是只读的,不能修改记录

ADLOCKPESSIMISTIC(=2)
悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。

ADLOCKOPTIMISTIC(=3)
乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。

ADLOCKBATCHOPTIMISTIC(=4)
批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。

当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。
对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,
数据在这段时间被更新。这减少了资源的使用。

热点新闻