标题:请教一下asp修改数据的错误
只看楼主
haslove
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-1-22
 问题点数:0 回复次数:17 
请教一下asp修改数据的错误

修改数据代码如下:
<%
id=request.queryString("id")
if id="" then
id=0
end if
conn.execute("update bookuser set content='"&content&"',admincontent='"&admincontent&"',type='"&shenhe&"' where id="&id&"")
response.write "<script language=javascript>alert('修改成功!刷新页面即可!');history.back(-1)</script>"
%>

提示修改成功,但数据没改动,没变化。并且原有的原始数据没了,

form提交的表单:
<input type="text" name="shenhe" value="<%=rs("type")%>">
<textarea name="content"><%=rs("content")%></textarea>
<textarea name="admincontent"><%=rs("admincontent")%></textarea>


数据库conn:
<%
set conn=server.createobject("adodb.connection")
connstr="Provider=Microsoft.jet.oledb.4.0;data source="&server.mappath("链接地址")
conn.open connstr
%>


表:bookuser
字段:content=备注 admincontent=备注 type=文本

搜索更多相关主题的帖子: 数据 asp type 
2006-03-02 16:22
fcnh1983
Rank: 1
等 级:新手上路
帖 子:665
专家分:0
注 册:2005-8-31
得分:0 
conn.execute("update bookuser set content='"&content&"',admincontent='"&admincontent&"',type='"&shenhe&"' where id="&id&"")

conn.execute "update bookuser set content='"&content&"',admincontent='"&admincontent&"',type='"&shenhe&"' where id="&id

^^多谢赐教!!无以为报只好以身相许!!!^^谢谢,不用谢,要谢的,多说不用了^^如果真的要谢,那就嫁给我吧,好啊^^
2006-03-02 16:29
haslove
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-1-22
得分:0 
谢谢。
但问题还是一样。

2006-03-02 16:54
fcnh1983
Rank: 1
等 级:新手上路
帖 子:665
专家分:0
注 册:2005-8-31
得分:0 
这里应该没错了
首先id字段是自动编号的吗???
如果是,就改成我那样的,如果不是,那就是你原来的对了。

可以用下面的检验一下到底哪个部位错了。
<%
id=request.queryString("id")
if id="" then
id=0
end if
response.write (id&content&admincontent&shenhe)//看看能不能打出相应的值。如果不能就证明不是这里的问,而是在提交时出错了。就仔细看看提交的代码。

%>

^^多谢赐教!!无以为报只好以身相许!!!^^谢谢,不用谢,要谢的,多说不用了^^如果真的要谢,那就嫁给我吧,好啊^^
2006-03-02 17:05
haslove
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-1-22
得分:0 
ID是自动编号的
改成你那样的也不行。

用这个来看
response.write (id&content&admincontent&shenhe)
只有ID才显示了,这样说明是提交文件的问题了吗?

2006-03-02 17:23
haslove
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-1-22
得分:0 
己经ok了!
谢谢你的帮助。


解决问题的代码
<%
id=request.queryString("id")
if id="" then
id=0
end If
content=Request.Form("content")
admincontent=request.Form("admincontent")
shenhe=request.Form("shenhe")
conn.execute "update bookuser set content='"&content&"',admincontent='"&admincontent&"',type='"&shenhe&"' where id="&id
Response.Write(Request.form("shenhe"))
response.write "<script language=javascript>alert('修改成功!刷新页面即可!');history.back(-1)</script>"
%>

2006-03-02 17:34
atozxp
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-9
得分:0 

我在上一页面列出数据库所有记录,点击修改就修改对应的该条记录,用get方式传递ID值,当修改并提交后会刷新提交页面,内容已经加入到数据库里了,但为什么我用上你的那个转向代码或者是response.redir.....,页面就会自动转向,数据库该条记录就会被清空,根本没法修改。还请指教。

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("db.mdb")
set rs=Server.CreateObject("ADODB.Recordset")

id=request.querystring("id")
sql="select * from guest where id="&id
rs.open sql,conn,1,3
%>

< form action="" method="post" name="form1">
姓名< input name="name" value="<%=rs("name")%>">
内容< textarea name="msg"> <%=rs("msg")%> </textarea>
< input name="input" type="submit" value="提交">
< input name="reset" type="reset" value="重置">
< /form>

<%
name=request.form("name")
msg=request.form("msg")
conn.execute "update guest set name='"&name&"',msg='"&msg&"' where id="&id
response.write "<script language=javascript>alert('修改成功!刷新页面即可!');history.back(-1)</script>"//此句加上就自动转向,无法修改数据
rs.close
set rs=nothing
conn.close
set conn=nothing
%>

[此贴子已经被作者于2006-4-11 22:23:40编辑过]

2006-04-11 22:22
haslove
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-1-22
得分:0 
可能我的认识还不够吧,
用conn.execute修改数据,只要提交的内容含有符号之类的,会有错误,并修改不成功

建议还是用rs的方法

楼上的
<%
name=request.form("name")
msg=request.form("msg")
rs("name")=name
rs("msg")=msg
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
%>

呵,这么久的贴子也让你顶出来

2006-04-11 22:52
atozxp
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-9
得分:0 
没办法,遇到问题只好乱搜一气,正好看见你在线。。。。。。

那个转向的句子放在哪里比较合适?我试过N个地方,都是根本不让你修改,直接就转了。
2006-04-11 23:04
haslove
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-1-22
得分:0 
<%
name=request.form("name")
msg=request.form("msg")
rs("name")=name
rs("msg")=msg
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
response.write "<script language=javascript>alert('修改成功!刷新页面即可!');history.back(-1)</script>
%>
这样

2006-04-11 23:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-48030-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.105107 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved