asp 修改表单提交问题,可以提交成功,就是不能更新数据库
主程序.asp<%ifsession("AdminName")=""thenresponse.Redirect"Admin_Login.asp"endif%><!--#i...
主程序.asp
<%
if session("AdminName") = "" then
response.Redirect "Admin_Login.asp"
end if
%>
<!--#include file="CONN.ASP"-->
<!--#include file="Sql_Erro.asp"-->
<html>
<head>
</head>
<body leftmargin="2" topmargin="0" marginwidth="0" marginheight="0">
<%
id=request("id")
Set rso=Server.CreateObject("ADODB.RecordSet")
sql="select * from bmxt where id="&id
rso.Open sql,conn,3,3
if rso.eof and rso.bof then
response.Write("没有数据记录!")
else
%>
<table align="center">
<form method="post" action="index_edit.asp?action=edit&id="<%=id%>>
<tr align="center" height="39">
<td>本人手机</td><td align="center" height="39"><input type="title" name="T7" maxlength=11 style="width:100px;" value="<%=rso("T7")%>"></td>
<td >常用QQ号</td><td align="center" height="39"><input type="title" name="T23" maxlength=15 style="width:100px;" value="<%=rso("T23")%>"></td></tr>
<td align="center" height="39" colspan="2"><input type="submit" value="我要修改!" name="submit"> </td>
</tr>
</table>
<% End If
rso.close
set rso=nothing
%>
</form>
</body>
</html>
《index_edit.asp》
<!--#include file="conn.asp"-->
<%
id=request("id")
%>
<%
if request("action") = "edit" then
id=request("id")
T7=request("T7")
T23=request("T23")
set rs=server.createobject("adodb.recordset")
sql="select * from bmxt where id="&id
rs.open sql,conn,1,3
rs("T7")=T7
rs("T23")=T23
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
response.write "<script language='javascript'>" & chr(13)
response.write "alert('你的登记信息修改成功!');" & Chr(13)
response.write "window.document.location.href='Admin_Index.asp';"&Chr(13)
response.write "</script>" & Chr(13)
Response.End
else
response.write "<script language='javascript'>" & chr(13)
response.write "alert('你提交的参数有误!点击确定返回重新输入!');" & Chr(13)
response.write "window.document.location.href='Admin_Index.asp';"&Chr(13)
response.write "</script>" & Chr(13)
Response.End
end if
%> 展开
<%
if session("AdminName") = "" then
response.Redirect "Admin_Login.asp"
end if
%>
<!--#include file="CONN.ASP"-->
<!--#include file="Sql_Erro.asp"-->
<html>
<head>
</head>
<body leftmargin="2" topmargin="0" marginwidth="0" marginheight="0">
<%
id=request("id")
Set rso=Server.CreateObject("ADODB.RecordSet")
sql="select * from bmxt where id="&id
rso.Open sql,conn,3,3
if rso.eof and rso.bof then
response.Write("没有数据记录!")
else
%>
<table align="center">
<form method="post" action="index_edit.asp?action=edit&id="<%=id%>>
<tr align="center" height="39">
<td>本人手机</td><td align="center" height="39"><input type="title" name="T7" maxlength=11 style="width:100px;" value="<%=rso("T7")%>"></td>
<td >常用QQ号</td><td align="center" height="39"><input type="title" name="T23" maxlength=15 style="width:100px;" value="<%=rso("T23")%>"></td></tr>
<td align="center" height="39" colspan="2"><input type="submit" value="我要修改!" name="submit"> </td>
</tr>
</table>
<% End If
rso.close
set rso=nothing
%>
</form>
</body>
</html>
《index_edit.asp》
<!--#include file="conn.asp"-->
<%
id=request("id")
%>
<%
if request("action") = "edit" then
id=request("id")
T7=request("T7")
T23=request("T23")
set rs=server.createobject("adodb.recordset")
sql="select * from bmxt where id="&id
rs.open sql,conn,1,3
rs("T7")=T7
rs("T23")=T23
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
response.write "<script language='javascript'>" & chr(13)
response.write "alert('你的登记信息修改成功!');" & Chr(13)
response.write "window.document.location.href='Admin_Index.asp';"&Chr(13)
response.write "</script>" & Chr(13)
Response.End
else
response.write "<script language='javascript'>" & chr(13)
response.write "alert('你提交的参数有误!点击确定返回重新输入!');" & Chr(13)
response.write "window.document.location.href='Admin_Index.asp';"&Chr(13)
response.write "</script>" & Chr(13)
Response.End
end if
%> 展开
4个回答
展开全部
你的错误提示是什么?
如果是Access数据库,请检查写入修改权限;另外检查传递参数值是否符合字段要求,传递值是否正确完整;
还有我在用ADO Recordset对象的update方法时是成对出现的,第一个update命令是告诉ADO程序要更新记录,然后对每个字段进行赋值,最后update命令是写入更新,同样的delete、addnew也是一样,需要用update方法结尾,作为提交操作的命令。不过我现在一般使用Command或Connection对象的Execute方法直接执行update、insert或delete操作。
如果是Access数据库,请检查写入修改权限;另外检查传递参数值是否符合字段要求,传递值是否正确完整;
还有我在用ADO Recordset对象的update方法时是成对出现的,第一个update命令是告诉ADO程序要更新记录,然后对每个字段进行赋值,最后update命令是写入更新,同样的delete、addnew也是一样,需要用update方法结尾,作为提交操作的命令。不过我现在一般使用Command或Connection对象的Execute方法直接执行update、insert或delete操作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
目测代码整体没什么问题
主程序.asp
rso.Open sql,conn,3,3 读取记录不要用3,3打开,如果access数据库,锁表严重,降低整个系统的并发。而且使用完
conn.close
set conn=nothing
关闭掉
我感觉问题就在这里
index_edit.asp
request("id") 是一种非常不友好的编写方式,虽然简单但是会增加很多系统漏洞
get request.querystring("id")
post request.form("id")
主程序.asp
rso.Open sql,conn,3,3 读取记录不要用3,3打开,如果access数据库,锁表严重,降低整个系统的并发。而且使用完
conn.close
set conn=nothing
关闭掉
我感觉问题就在这里
index_edit.asp
request("id") 是一种非常不友好的编写方式,虽然简单但是会增加很多系统漏洞
get request.querystring("id")
post request.form("id")
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
rs.open sql,conn,3,3把这里改成rs.open sql,conn,1,3 游标类型你可以百度一下这几个数是怎么用的,id=request("id")这里不是大问题,不过最好要严格些,如果从表单猎取的ID值,就这样:request from("id"),从地址里获取request.querystring("id") 。先把游标类型改一下看行不行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、先确定sql是否选择到了你的数据记录,因为你没有判断,你可以Response.write出来看
2、确定你提交的数据是否合法,在入库前要进行必要的数据检查
2、确定你提交的数据是否合法,在入库前要进行必要的数据检查
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询