« 我的ASP经验之路(5)—ASP如何进行数据库写入操作传统书店开展电子商务需慎防三点 »

我的ASP经验之路(6)—ASP如何对数据库编辑与删除操作

分类: asp入门学习代码,asp经验 发布: ywask 浏览: 日期: 2012年4月5日

上文介绍了ASP如何对数据库进行写入操作,本文将介绍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.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
 
所有的演示代码请下载压缩包调试。
本文原创:义乌网站建设 写入2012-04-05 http://www.15ask.com
有什么疑问可以给我留言

相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By 义乌乱码网络

Copyright 2013 www.15ask.com. All Rights Reserved.浙ICP备11009494号