ASP里如何在数据库给已有的用户添加记录?
我用access做的数据库,好比如下:UserIduserNamepassworddata1data21sun****2pig****3Linlin*****4Funy*...
我用access做的数据库,好比如下:
UserId userName password data1 data2
1 sun ****
2 pig ****
3 Linlin *****
4 Funy *****
自动编号
用户注册没有问题.但是过后用户需要另外再提交data1 和data2数据,
然后用如下的ASP代码:
<%@language=vbscript%>
<!--#include file="conn.asp"-->
<%
dim dat1,dat2,name
dat1=request.form ("data1")
dat2=request.form ("data2")
name=session("username")
set rs=server.createobject("adodb.recordset")
sql="select * from favurl where username='" & name & "'"
rs.open sql,conn,1,3
rs.addnew
rs("data1")=dat1
rs("data2")=dat2
rs.update
rs.close
set rs=nothing
response.write "祝贺你,你已经添加成功!"
%>
结果很奇怪,比如当前的session("username")=pig的,
应该dat1和dat2添加到用户pig相应的data1和data2才对啊,
可是它是加到了最后那行,为什么呢?
谢谢. 展开
UserId userName password data1 data2
1 sun ****
2 pig ****
3 Linlin *****
4 Funy *****
自动编号
用户注册没有问题.但是过后用户需要另外再提交data1 和data2数据,
然后用如下的ASP代码:
<%@language=vbscript%>
<!--#include file="conn.asp"-->
<%
dim dat1,dat2,name
dat1=request.form ("data1")
dat2=request.form ("data2")
name=session("username")
set rs=server.createobject("adodb.recordset")
sql="select * from favurl where username='" & name & "'"
rs.open sql,conn,1,3
rs.addnew
rs("data1")=dat1
rs("data2")=dat2
rs.update
rs.close
set rs=nothing
response.write "祝贺你,你已经添加成功!"
%>
结果很奇怪,比如当前的session("username")=pig的,
应该dat1和dat2添加到用户pig相应的data1和data2才对啊,
可是它是加到了最后那行,为什么呢?
谢谢. 展开
5个回答
展开全部
rs.addnew是添加一条新记录,修改数据库中已有的数据用不着,找到直接修改,然后保存就可以了,把你代码修改如下:
.......
......
sql="select * from favurl where username='" & name & "'"
rs.open sql,conn,1,3
rs("data1")=dat1
rs("data2")=dat2
rs.update
rs.close
set rs=nothing
response.write "祝贺你,你已经添加成功!"
.....
.....
.......
......
sql="select * from favurl where username='" & name & "'"
rs.open sql,conn,1,3
rs("data1")=dat1
rs("data2")=dat2
rs.update
rs.close
set rs=nothing
response.write "祝贺你,你已经添加成功!"
.....
.....
展开全部
sql="select * from favurl where username='" & name & "'"
rs.open sql,conn,1,3
rs("data1")=dat1
rs("data2")=dat2
rs.update
rs.close
set rs=nothing
去掉 rs.addnew
rs.open sql,conn,1,3
rs("data1")=dat1
rs("data2")=dat2
rs.update
rs.close
set rs=nothing
去掉 rs.addnew
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是“rs.addnew ”搞的怪,这个的意思是新建记录,虽然你用where语句已经查到了该用户的记录,但是用rs.addnew的意思是插入新记录。
如果你希望修改原来的记录,只需要把rs.addnew去掉就可以了。
如果你希望修改原来的记录,只需要把rs.addnew去掉就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这是新增一条记录,而不是插入记录。当然出错了,
很简单:
一句搞定:
conn.execute"update favurl set date1='" & date1 & "',date2='" & date2 & "' where username='" & name & "'""
这样就行了。
很简单:
一句搞定:
conn.execute"update favurl set date1='" & date1 & "',date2='" & date2 & "' where username='" & name & "'""
这样就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改一下sql语句就可以了
sql="update favurl set data1="&dat1&",date2="&dat2&"where username='"&name&"'"
rs.open sql,conn,1,3
这样应该就可以了
sql="update favurl set data1="&dat1&",date2="&dat2&"where username='"&name&"'"
rs.open sql,conn,1,3
这样应该就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询