注册 登录
编程论坛 ASP技术论坛

[求助]为什么我的记录只能记录一次??

云中的雨 发布于 2007-11-11 17:03, 470 次点击
我作了一个登录并记录登录时间的网页,想记录用户每次登录的时间。但是,测试时发现一个用户名只能登录记录一次。同一用户名第二次再登录总是说我的“rs.update”这一行错误。我不明白,如果不要这一条,又一次都不能记录,若要,又只能记录一次。我是想每次登录都记录的。我的代码如下,特请教各位:
recordtime=trim(request.form("Now"))
username=trim(Request.Form("username"))
……
……
set rs=server.createobject("adodb.recordset")
insertsql="select * from record"
rs.open insertsql,db,1,3
rs.addnew
rs("user")=username
rs("recordtime")=Now
rs.update
rs.close
set rs=nothing

[此贴子已经被作者于2007-11-11 17:05:03编辑过]

6 回复
#2
永夜的极光2007-11-11 18:09
你的record表中,主键是哪个?
#3
dushui2652007-11-11 18:23
楼主想错了吧,
set rs=server.createobject("adodb.recordset")
insertsql="select * from record"
rs.open insertsql,db,1,3
rs.addnew
rs("user")=username
rs("recordtime")=Now
rs.update
应该是更新用户资料吧,你这写的是添加了,由于这个用户名已经存在了,你再添加当然就出错了
这样写应该可以吧
insertsql="update record set recordtime=" & now & " where user=" & username
conn.excute insertsql
#4
qhscqb2007-11-11 19:08
回复:(云中的雨)[求助]为什么我的记录只能记录一次...
'不用创建RS对象
sql="insert into loginrecord (usr,recordtime) values ('"&username&"','"&now&"')"
conn.execute(sql)
'loginrecord其实就是你的record表,不过最好不要用保留字(关键字),因为record是ADO的保留字,usr(你的是user)字段也一样.
#5
云中的雨2007-11-12 11:04
回复:(qhscqb)回复:(云中的雨)[求助]为什么我的...
谢谢qhscqb,但不行啊,显示对像关闭不允许操作.

[此贴子已经被作者于2007-11-12 11:05:33编辑过]


#6
云中的雨2007-11-12 11:06
回复:(dushui265)楼主想错了吧,set rs=server.cre...
不是的,我不是想更新,就是想每次登录都留下登录时间等记录.
#7
hfei34612007-11-12 13:27

楼主是不是把主键设在user上了,主键不可以重复的,设个id做主键试试看

1