主题:  请教diffmaker与各位高手

dreamexpress_5d

职务:普通成员
等级:1
金币:10.0
发贴:2229
#12004/7/9 19:48:41
diffmaker曾写过:

objRS.AddNew
objRS("fieldname1")=fieldvalue1
objRS("fieldname2")=fieldvalue2
......
objRS.Update

显然是给记录集增加记录,可我一运行就出错啊。我怎么加不了呢?

我的代码如下:
<%
...
rs.Open "SELECT Username FROM Users"
rs.movelast
rs.AddNew
RS("username")="MIKE"
rs.movelast
response.Write(rs.fields("username"))
...
%>

前面的数据库连接与RS的建立均正常。

注释掉以下二句就正常了,唉:
'rs.AddNew
'RS("username")="MIKE"

请教:如何修改与增加记录集中的记录啊???

修改记录中的某一字段的值:

rs.fields("username")=”我的名字“

也是出错。错错错。。。我就对不了!晕死了



dreamexpress_5d

职务:普通成员
等级:1
金币:10.0
发贴:2229
#22004/7/9 19:54:07
是不是只能读取RS中的字段值,而不能修改和添加新记录?不可能啊!关键是我才能通不过。。。ASP出错!
图片如下:



dreamexpress_5d

职务:普通成员
等级:1
金币:10.0
发贴:2229
#32004/7/9 20:43:08
唉,原来是rs.locktype的问题。设locktype=2就可修改并UPDATE了。

真是晕,但不能ADDNEW
是不是ADDNEW写法不对??

如何向记录集中加记录再UPDATE到数据库中??

编辑历史:[此帖最近一次被 dreamexpress 编辑过(编辑时间:2004-07-09 21:05:24)]


浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#42004/7/10 19:53:37
你用的是什么数据库呀?可能是你打开数据库时的问题。



浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#52004/7/10 19:56:59
objRS.Open方法
语法:objRS.Open(Source,Connection,CursorType,LockType,CommandType)
参数:
Source:这是一个Command对象或包含指定的字符串;
Connection:用来打开数据库连接的Connection对象,在此为objConn;
CursorType:见下面;
LockType:见下面;
CommandType:设置处理参数Source的方式,当CommandType的值为2(adCmdTable)时,表示将参数Source的值作为表的名称来处理;



浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#62004/7/10 19:58:50
CursorType:设置指针在Recordset对象中的移动方向。

0(adOpenForwardOnly):默认值,表示只能向下一条记录移动。若对表的记录进行了新增、删除或更新,之前读取出来的Recordset对象无法看到这些变化,仍旧保持着读取当时的记录,这个设置值所用到的系统资源最少,存取效率最佳;

1(adOpenKeyset):指针可以自由的上下移动。若对表的记录进行了新增、删除或更新,之前读取出来的Recordset对象可以看到更新的记录,但看不到新增或已经被删除的记录;

2(adOpenDynamic):指针可以自由的上下移动。若对表的记录进行了新增、删除或更新,之前读取出来的Recordset对象都可以看到任何变化(包括新增),这个设置值所用到的系统资源最多;[ACCESS数据库不支持]

3(adOpenStatic):当CursorLocation=3,即记录下载到浏览器端时,CursorType一定要设置为3,此时,指针可以自由的上下移动,但看不到表之后所做出的新增、删除或更新,因为已经和服务器端的数据库中断连接。



浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#72004/7/10 19:59:26
LockType:设置能否将记录写入表,有四种设置值:

1(adLockReadOnly):此为默认值,表示所有记录均是只读,不允许任何更改;

2(adLockPessimistic):当我们开始编辑某条记录的字段时,便锁定此记录,待编辑完毕并调用Update方法进行更新之后,再解除锁定;

3(adLockOptimistic):只有在调用Update方法进行更新的时候才锁定记录,若我们在编辑某条记录后,没有调用Update方法进行更新,而是继续移往其他记录做编辑,ADO会自动调用Update方法更新前面编辑的记录,若要取消更新,可以使用CancelUpdate方法。adLockOptimistic的效率虽然比adLockPessimistic好,但由于它只有在调用Update方法进行更新时才锁定记录,所有可能有数据不同步的问题。

4(adLockBatchOptimistic):允许我们以批次的方式更改记录;



浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
#82004/7/10 20:01:07
这些是以前我从教科书上抄的,有些自己也不太清楚,希望对你有点用。