分享

ASP对数据库进行删除与更新操作

 weiledream 2010-09-03
前面介绍了如何进行写入数据库操作,本文将介绍ASP对数据库进行删除与更新操作

补充一点,如果一段代码在好几个文件里都有使用到,那么可以把这段代码单独放在一个文件里,需要使用时,把这个文件包含进来即可。这里说的是include包括,以后会讲到过程SUB调用。

例:连接数据库代码

<%
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 '连接数据库
%>

新建一个文件名为:conn.asp 把以上代码保存,在需要使用时,在文件的顶部加入:<!--#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.asp里request.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条评论

    发表

    请遵守用户 评论公约

    类似文章 更多