先将数据库记录列表(edit1.asp),将需要修改时点修改转入edit2.asp,但:
1、怎样才能在edit2.asp中的文本框中显示选中记录的内容呢?
2、我使用的是get方式使之在修改时可获取ID号,如果用post方式的话,SQL语句后半部分where
id="&request("id")&"",就会出错,提示说:
错误 '80040e14' 语法错误 (操作符丢失) 在查询表达式 'id=' 中,/edit.asp,行 9,就是rs.open
sql,conn,1,3这一句,但实际上出错的还是sql语句。
还请各位指教,谢谢!
源文件在附件中,可下载。代码粘贴时出现问题,不得已,在蓝色部分前后都加上了空格
提交部分edit1.asp
< form id="form2" name="form2" method="get" action="edit2.asp">
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft Access driver (*.mdb)};dbq="&server.mappath("db.mdb")
exec="select * from guest"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,3
%>
< table width="600" border="1" cellspacing="0" cellpadding="0">
< %do while not rs.eof%>
< tr>
< td width="600" class="STYLE1"><span class="STYLE3 STYLE1"><%=rs("ID")%></span>< /td>
< td width="600" class="STYLE1"><span class="STYLE3 STYLE1"><%=rs("sex")%></span>< /td>
< td width="600" class="STYLE1"><span class="STYLE3 STYLE1"><%=rs("msg")%></span>< /td>
< td width="600" class="STYLE1"><a href="edit2.asp?id=<%=rs("id")%>">修改</a></a>< /td>
< /tr>
<%
rs.movenext
loop
rs.close
conn.close
%>
< /table>
< /form>
处理部分edit2.asp
<%
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.form("id")
sql="select * from guest where id"
rs.open sql,conn,1,3
rs("sex")=Request("sex")
rs("msg")=Request("msg")
%>
< form action="" method="post" name="form1" >
姓名< input name="sex" type="text" id="sex" value="<%=rs("sex")%>" maxlength="5">
< br>
内容< textarea name="msg" cols="70" rows="12" id="msg" <%=rs("msg")%>> </textarea>
< br>
< input type="submit" name="Submit" value="提交">
< input type="reset" name="Submit2" value="重置">
< /form>
<%
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
数据表名:guest
除ID字段外,其余字段均为文本型