先来看代码:
<% set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("test.mdb")//这不是以前的一个数据库,里面就aa,bb两个字段 exec="select * from test where id="&request.querystring("id") set rs=server.createobject("adodb.recordset") rs.open exec,conn %> <form name="form1" method="post" action="modifysave.asp"> <table width="748" border="0" cellspacing="0" cellpadding="0"> <tr> <td>aa</td> <td>bb</td> </tr> <tr> <td> <input type="text" name="aa" value="<%=rs("aa")%>"> </td> <td> <input type="text" name="bb" value="<%=rs("bb")%>"> <input type="submit" name="Submit" value="提交"> <input type="hidden" name="id" value="<%=request.querystring("id")%>"> </td> </tr> </table> </form> <% rs.close set rs=nothing conn.close set conn=nothing %>大家到现在应该分析这个代码没有什么问题,这个代码的作用是接受前面一个页面的ID然后显示这条记录,文本框即是输入的地方也是显示的地方,如果需要修改的话修改以后按提交;如果不需要修改就可以直接按提交按钮。这里还有一个东西以前没有说,那就是隐藏的表单元素:hidden元素,里面的value是不用用户输入的,会随着表单一起提交,用于传递变量。下面是modifysave.asp的代码:
<% set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("test.mdb") exec="select * from test where id="&request.form("id") set rs=server.createobject("adodb.recordset") rs.open exec,conn,1,3 rs("aa")=request.form("aa") rs("bb")=request.form("bb") rs.update rs.close set rs=nothing conn.close set conn=nothing %>在这里,rs.open exec,conn,1,3后面的参数是1,3,这我以前提过,修改记录就要用1,3。实际上修改记录很容易看懂,记录集是rs,rs("aa")就是当前记录aa字段的东西,让它等于新的数据request.form("aa")当然就修改了,不过最后别忘记保存,那就是rs.update!
说到这里,记录的搜索,读取,修改,插入都说了,通过这最基本的东西就可以作出复杂的东西了,外面的大型数据库:新闻系统,留言簿就是字段多一点罢了。