分享

asp学习经验之ASP如何对数据库编辑更新与删除操作

 昵称8013614 2012-04-06

本文将介绍asp如何对数据库进行更新与删除操作。顺便提一下,如果每个文件里都需要用到同一段代码,那么可以把这段代码放在一个asp文件里,在需要使用时,在最上面用include包含进来就行了。如我们的数据库连接文件:conn.asp

<%
dim conn 
dim connstr
connstr="DBQ="+server.mappath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION") '
创建数据库连接对象
conn.open connstr '
连接数据库
%>

 

       当在其他页面要使用他时,可以在最上面写上<!--#include file="conn.asp"--> 这样就行了。

1.对数据库进行删除操作

直接修改一下读取数据库的文件index.asp ,在读取的每条记录后面加个两个链接"删除","编辑"

在删除这儿,链接到delete.asp ,这个文件将处理删除操作。首先程序要知道删除的是哪条记录,那么删除的链接这儿就需要跟上一个参数,这里我们跟一个自动编号ID ,这个是记录的唯一标识,即不会有重复的。如: <a href="delete.asp?id=<%=rs("id")%>">删除</a>
delete.asp文件里就要用前面讲到的request.querystring方法来获取这个ID的值。如:id=request.querystring("id"),得到要删除的ID后,对数据库进行删除操作,代码:conn.execute("delete from [company] where id="&id&"")  删除后,我们这里自动返回到读取数据库的页面,response.redirect("index.asp") ,删除功能完成。全部代码请查看压缩包里的delete.asp文件

2.对数据库进行编辑操作

编辑操作比删除操作就更复杂了。包含了读取数据库的操作。同删除操作一样,"编辑"的链接也必须跟上一个ID以让程序知道需要修改的是哪条数据。如:<a href="edit.asp?id=<%=rs("id")%>">编辑</a> ,在edit.asp文件里,就必须先读取出这条记录的值,让用户来修改他的数据内容。格式如同index.htm里一样,一个提交表单,只不过这儿的表单值是直接读取数据库里该条记录的内容。然后这儿用户可以修改所有文本框的值,在<form>里,提交到editsave.asp这个文件里,这个文件将处理更新数据库操作。同时这个form表单的 action里,也必须跟上id值,如:action="editsave.asp?id="&id&""  ,在editsave.asprequest.form("id")得知要更新的记录ID

更新数据库:这里有两种写法,一种是建立记录集recordset ,另一种是直接用SQL语法update来操作。

 

第一种:
id=request.Form("id"))
companyname=request.form("companyname") '
把文本框companyname的值赋于变量companyname
tel=request.form("tel") '
把文本框tel的值赋于变量tel
address=request.form("address") '
把文本框address的值赋于变量address
website=request.form("website") '
把文本框website的值赋于变量website
set rs=server.CreateObject("adodb.recordset") '
创建rs记录集
sql="select * from [company] where id="&id&"" '
读取数据库的SQL语句串
rs.open sql,conn,3,3 '
打开记录集 ,当需要对数据库进行更新操作时,用3,3,如果只需要读取数据库,用1,1 这个以后会解释。
rs("companyname")=companyname '
把变量companyname的值写入到companyname的字段中
rs("tel")=tel '
把变量tel的值写入到tel的字段中
rs("address")=address '
把变量address的值写入到address的字段中
rs("website")=website '
把变量website的值写入到website的字段中
rs.update '
更新数据库
rs.close '
关闭记录集
set rs=nothing '
清空记录集

这段代码相比新增记录,少了一句rs.addnew即可。

第二种:相比来说,第二种写法更简单一些,但可读性第一种更清晰。

conn.execute("update [company] set companyname='"&companyname&"',tel='"&tel&"',address='"&address&"',website='"&website&"' where id="&id&"")
最后别忘了更新好数据库后返回到读取数据库页面index.asp

 

本文原创:义乌乱码网络

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多