« 传统书店开展电子商务需慎防三点为什么老美测试员这样幸福 »

我的ASP经验之路(7)—ASP最简单的新闻发布系统

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

    新闻发布系统,顾名思义就是后台发布新闻内容,前台读取新闻信息。为了让初学者更清楚的了解整个过程,这里把所有操作过程的文件分开来,分为以下几个页面:提交新闻表单页、保存新闻数据、读取数据、编辑数据、删除数据操作,数据库连接文件一共五个页面。结合前面讲过的:ASP如何进行数据库写入操作ASP如何对数据库编辑与删除操作 等。

1、 添加数据页 add.htm
这里制作一个简单的提交数据表单页,分别为:新闻标题、新闻内容、发布人三个表单。在form的action里保存到savedata.asp文件里。
 
2、 保存数据页 savedata.asp
使用以前讲过的request.form属性来获取值,写入数据库。
整页代码如下:
<%
'取得表单数据
title=request.form("title")
content=request.form("content")
content=replace(replace(content,chr(13),"<br>"),chr(32),"&nbsp;") '把输入框中的回车换成html代码的回车<br>,把空格换成&nbsp;
editor=request.form("editor")
 
set rs=server.CreateObject("adodb.recordset") '创建rs记录集
sql="select * from [news]" '读取数据库的SQL语句串
rs.open sql,conn,3,3 '打开记录集,当需要对数据库进行更新操作时,用3,3,如果只需要读取数据库,用1,1 这个以后会解释。
rs.addnew '添加新记录
rs("title")=title
rs("content")=content
rs("editor")=editor
rs.update '更新数据库
rs.close '关闭记录集
set rs=nothing '清空记录集
response.redirect("index.asp") '提交成功后,转向到index.asp文件,读取数据库内容
%>
 
3、 读取数据页面 index.asp
建立记录集,循环读取数据库表里的内容,部分代码如下:
<%
set rs=server.CreateObject("adodb.recordset") '创建rs记录集
sql="select * from [news]" '读取数据库的SQL语句串
rs.open sql,conn,1,1 '打开记录集
%>
<%do while not rs.eof
 'rs.eof意思是最后一条记录,rs.bof的意思是第一条记录,所以这句话的意思是:当不是最后一条记录时,输出下面的代码%> 
 <tr bgcolor="#FFFFFF">
    <td height="24"><%=rs("title")%></td>
    <td><%=rs("content")%></td>
    <td><%=rs("editor")%></td>
    <td><%=rs("addtime")%></td>
    <td><a href="delete.asp?id=<%=rs("id")%>">删除</a></td>
    <td><a href="edit.asp?id=<%=rs("id")%>">编辑</a></td>
 </tr>
 <%rs.movenext '移到下一条记录
loop%>
这里有个“编辑”与“删除”链接,都必须跟一个id唯一标识过去,这样才知道你需要编辑或删除的新闻是哪一条。
 
4、 编辑新闻页面 edit.asp
根据提交过来的id值得知需要编辑的新闻,先把该新闻数据读取出来,
<%
id=request.querystring("id")
set rs=server.CreateObject("adodb.recordset") '创建rs记录集
sql="select * from [news] where id="&id&"" '读取数据库的SQL语句串
rs.open sql,conn,1,1 '打开记录集
%>
更改内容后,提交到保存数据页面editsave.asp
 
5、 保存编辑新闻页面
<%
'取得表单数据
id=request.querystring("id")
title=request.form("title")
content=request.form("content")
content=replace(replace(content,chr(13),"<br>"),chr(32),"&nbsp;") '把输入框中的回车换成html代码的回车<br>,把空格换成&nbsp;
editor=request.form("editor")
 
set rs=server.CreateObject("adodb.recordset") '创建rs记录集
sql="select * from [news] where id="&id&"" '读取数据库的SQL语句串
rs.open sql,conn,3,3 '打开记录集,当需要对数据库进行更新操作时,用3,3,如果只需要读取数据库,用1,1 这个以后会解释。
rs("title")=title
rs("content")=content
rs("editor")=editor
rs("addtime")=now() '新闻发布时间更改为当前服务器时间
rs.update '更新数据库
rs.close '关闭记录集
set rs=nothing '清空记录集
response.redirect("index.asp") '提交成功后,转向到index.asp文件,读取数据库内容
%>
 
6、 删除新闻页面 delete.asp
根据提交过来的id知道需要删除的新闻,执行删除操作:
<%
'取得表单数据
id=request.querystring("id")
conn.execute("delete from [news] where id="&id&"")
response.redirect("index.asp") '提交成功后,转向到index.asp文件,读取数据库内容
%>
 
这样整个新闻发布系统就算完成了,所有代码可以查看压缩包,里面包含了数据库。
本文原创:义乌网站建设 http://www.15ask.com  写于2012-04-07

相关文章:

发表评论:

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

Powered By 义乌乱码网络

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