【rs.update】无法正常更新
虚心请教各位师兄
<!-- #include file="conn.asp" -->
<%
id=request.querystring("id")
%>
<%
If request.Form("submit")="change" Then
cntitle=request.Form("cn_title")
cnauthor=request.Form("cn_author")
cncontent=request.Form("cn_content")
id=request.Form("id")
Set rs=server.CreateObject("adodb.recordset")
sql="select * from cnartile where cn_id="&id
rs.open sql,conn,3,2
rs("cn_title")=cntitle
rs("cn_author")=cnauthor
rs("cn_content")=cncontent
rs.update
rs.close
Set rs = Nothing
conn.close
set conn=Nothing
response.redirect("showit.asp")
%>
<% End If %>
<%
if id<>"" then
Set rs = Server.CreateObject ("ADODB.Recordset")
sql="select * from cnartile where cn_id="&id
rs.Open sql,conn,1,1
whattitle=rs("cn_title")
whoauthor=rs("cn_author")
whatcontent=rs("cn_content")
end if
%>
<form action="change.asp" method="post">
Title:<input type="text" name="title" value=<%=whattitle%>><br>
Author:<input type="text" name="authpr" value=<%=whoauthor%>><br>
Content:<br>
<textarea name="content" rows="8" cols="30"><%=whatcontent%></textarea><br>
<input type="submit" value="Change" name="submit">
<input type="reset" value="Reset">
<input name="id" type="hidden" value="<%=id%>">
</form>
<a href="showit.asp" align="center"><font color=blue>查看留言</font></a>
好像是更新的内容没有被写入数据库中 数据库连接是正常的 请各位师兄帮我看一下是不是顺序的问题 还是什么别的地方错了
问题点数:40、回复次数:6Top
1 楼bsdog(波斯猫)回复于 2006-02-03 21:00:15 得分 20
呵呵,对于更新记录集的问题呢,一般由于以下几个原因造成失败的
1:当前数据库不支持更新,也就是说你的access数据库文件为只读;
解决:将你的数据库文件设置为读写(本机IIS,可以采取共享的方式)
2:当前记录集不支持更新
解决:sql="select * from [Table] where ID="&ID
set rs=Server.CreateObejct("Adodb.RecordSet")
rs.open sql,conn,1,3
rs(1)=YourValue
.
.
.
rs(N)=YourValue
rs.Update
'Your Code Here
DataBaseLinkClose
或者呢,可以采取以下方法
sql="update [Tables] set [Tables.Field1]=YourValue,.....[Tables.FieldN]=YourValue"
conn.execute(sql)
呵呵
现在试试看?
一般的更新失败呢。因为先看错误代码提示,在逐步的分析原因
①.看错误代码
②.分析错误原因
③.解决错误
先看SQL语句是否正确,再看记录集参数是否正确。呵呵~~~~Top
2 楼Taciterry(面朝大海,春暖花开)回复于 2006-02-03 21:06:34 得分 0
If request.Form("submit")="change" Then
换成
If request.Form("submit")="change" Then
response.write("看看有没有执行这里")
response.endTop
3 楼Taciterry(面朝大海,春暖花开)回复于 2006-02-03 21:08:43 得分 20
对头了
<input type="submit" value="Change" name="submit">
request.Form("submit")="change"
一失足成千古恨
注意大小写!!!Top
4 楼titiking(花见花呆)回复于 2006-02-03 21:19:52 得分 0
能插入数据 应该不会是只读吧?
是不是要把sql语句写成"update cnartile set cn_title="&cntitle&"cn_author="&cnauthor&"cn_content="&cncontent&"where cn_id="&id
是不是这样写查询语句 然后给这些变量赋值
cntitle=request.form("title")Top
5 楼titiking(花见花呆)回复于 2006-02-03 21:38:26 得分 0
执行的时候是用 rs.update 还是用 conn.execute(sql)?Top
6 楼titiking(花见花呆)回复于 2006-02-03 22:02:39 得分 0
问题解决了 只要把change的第一个C改成大写就OK了 谢谢Less和小猫哥了 祝愿大家身体健康
哈哈 作出来了 好开心啊Top




