asp 读写 access 记录的问题 急

来源:百度知道 编辑:UC知道 时间:2024/05/17 04:56:17
set r=server.createobject("adodb.recordset")
sql="select * from test where subject='"&keyword&"'"
r.open sql,conn,1,3
if r.eof or r.bof then
r.addnew
r("subject")=keyword
r("clicked")=1
set r=nothing
else
click=r("clicked")+1
r("clicked")=click
end if
r.update
r.close
我的本意是查找数据库,看有没有与keyword相同的记录,
如果没有,就把这条记录增加进去
如果有,就把这条记录的clicked 的数目增加1
但是不知道是什么原因,测试几次之后,一条数据都没有写进数据库,并且还有一个问题
当我用office access 来编辑数据库时,发现增加一条记录后,id不是1,而是6(最初,这个数据库是新建的)如图

改成:
set r=server.createobject("adodb.recordset")
sql="select * from test where subject='"&keyword&"'"
r.open sql,conn,1,3
if r.eof and r.bof then
r.addnew
r("subject")=keyword
r("clicked")=1
else
click=r("clicked")+1
r("clicked")=click
end if
r.update
r.close
set r=nothing

access数据库中id是自动编号的 可能在之前你添加了数据,后面又删除了,但是id的值还是会保留继续增加

if r.eof or r.bof then
r.addnew
r("subject")=keyword
r("clicked")=1
set r=nothing ===> 这句。。剪切到。最下面。
现在。还没有update 就你清空 r 了。所以。现在r.update 就没有效果了。

试一下吧。

==============