准备工作:
总共需要十一个asp文件 index.asp add.asp addnew.asp admin.asp conn.asp
del.asp modify.asp modifyup.asp bluepagenews.css list.asp newshow.asp
一个数据库文件access的 xinwen.mdb
一张小图标 dot1.gif
开始讲解:(一)打开access建立一文件xinwen.mdb 表名为aa
字段为
id 自动排序
title 文本
content 文本
time 日期 默认值 now()
(二)打开DW 建立文件conn.asp文件
代码如下:
CODE:
<%
set ateobject("tion")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("xinwen.mdb")
%>
这段语句是连接数据库的语句 set ateobject("tion")创建一个connection对象 用该对象的open方法打开数据库
driver={microsoft access driver (*.mdb)};这句语句是access的驱动
dbq="&server.mappath("xinwen.mdb")这句是数据库的路
建立conn.asp是为了方便接下来的教学。。。
我们可以任何要用到打开数据库连接的文件里加
<!--#include file="conn.asp"-->就可以调用
asp 基础实例教程之八个小时打造新闻发布系统二
(第2个小时)
现在来学把数据库的信息输出来,并实现分页。有点复杂。。
(一)首先有必要和大家详细说一下recordset对象的成员。。有关分页技术的几个成员我在这里
详细解说一下。
Pagesize属性:指示Recordset中一页所包含的记录数。默认值为10
Pagecount属性:指示Recordset对象包含的数据页数
AbsolutePage属性:指示从1到Recordset对象所含页数的长整型。通俗的说就是如果数据库有
4页。那么 AbsolutePage就是1,2,3,4
(二)下面先建立一个后台文件admin.asp
代码如下
CODE:
<!--#include file="conn.asp"-->
<%
exec="select * from aa order by id desc"
set ateobject("dset")
rs.open exec,conn,1,1
%>
<%
rs.pagesize=2
pagecount=rs.pagecount
page=int(request("page"))
if page<=0 then page=1
if request.querystring("page")="" then
page=1
end if
rs.absolutepage=page
%>
<table width="83%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr >
<td height="27" colspan="5" align="center"><a href="add.asp" target="_blank">添加新闻</a></td>
</tr>
<tr>
<td width="68" height="24" align="center">编号</td>
<td width="179" align="center">标题</td>
<td width="202" align="center">时间</td>
<td colspan="2" align="center">管理</td>
</tr>
<tr>
<%
for i=1 to rs.pagesize
if rs.Eof then
exit for
end if
%>
<td height="25" align="center"><%=rs("id")%></td>
<td><%=rs("title")%></td>
<td><%=rs("time")%></td>
<td width="80" align="center"><a href="modify.asp?id=<%=rs("id")%>" >编辑</a></td>
<td width="82" align="center"><a href="del.asp?id=<%=rs("id")%>" >删除</a></td>
</tr>
<%
rs
.
movenext
next
%>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
</table>
<% for i=1 to pagecount %>
<a href="admin.asp?page=<%=i%>"><%=i%></a>
<%next%>
代码解释:
(1)<%
exec="select * from aa order by id desc "
set ateobject("dset")
rs.open exec,conn,1,1
%>
上面的代码是创建一个recordset对象。。该对象是用来打开数据库中的表的。。也就是打开aa
exec="select * from aa order by id desc " 这句的意思是查表aa中所有信息并倒序排列
信息. *号表示aa中所有的信息 order by id 就是aa中id字段 desc 是倒序的意思
rs.open exec,conn,1,1 这句话的意思是用recordset对象来打开conn中的表
(2)
<%
rs.pagesize=2
pagecount=rs.pagecount
page=int(request("page"))
if page<=0 then page=1
if request.QueryString("page")="" then
page=1
end if
rs.absolutepage=page
%>
这段代码相当重要。大家觉的里面有些单词很熟悉是不是。。
rs.这个的意思是前面 ateobject("dset")
rs就是recordset对象
在很多语言中。rs.的逗号的中文意思是“的”。
那么rs.的解释就是 recordset对象的
rs.pagesize=2 中文解释就是recordset对象的pagesize等于2 pagesize的意思是一页显示多少条信息
pagecount=rs.pagecount 定义pagecount等于recordset对象的pagecount
page=int(request("page")) 接收到的page是整数型
if page<=0 then page=1 如果page小于等于0 page就等于1
if request.QueryString("page")="" then 如果接收到的page是空。
page=1 page等于1
end if 结束
rs.absolutepage=page recordset对象的absolutepage等于page
我只是把每一句语句的意思解释了一遍。。
这里每一句语句都和其它语句有关联。。看不懂也不要泄气。。
因为这个东西是不能一下子学会的。。要看上一段时间。。慢慢理解。。
(3)
<%
for i=1 to rs.PageSize
if rs.EOF then
exit for
end if
%>
上面语句是循环语句。。实现数据库信息的输出
for i=1 to rs.PageSize 每次输出两条信息。PageSize 在前面已经定义为2
if rs.EOF then 如果扫描到数据表中最后一条就结束 exit for
(4)
<%
next
%>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
关闭数据库的意思
(5)
<% for i=1 to pagecount %>
<a href="admin.asp?page=<%=i%>"><%=i%></a>
<%next%>
这句语句的作用是显示页数。。就是显示1,2,3,4 。。我们点2就跳到第2页的内容
这段语句用到了之前定义的pagecount=rs.pagecount 指示Recordset对象包含的数据页数
也就是pagecount能记录数据表的数据分成了几页
<% for i=1 to pagecount %>那么这句的意思是显示1,2,3,4。。。。
width的意思中文翻译<a href="admin.asp?page=<%=i%>"><%=i%></a>这句理解起来有点麻烦。。
?号是连接字符。admin.
asp?page是admin.asp中的page 这里的page就是先前
定义的 page=int(request("page"))
<a href="admin.asp?page=<%=i%>">整句的意思就是为每个显示的数字添加连接。。
<%=i%>这里是指1,2,3,4。。。所以我们点任意一个数字就会跳转到该页的内容
<%next%> 指向下一个
完成后台管理的主页了。。我们继续走吧。。
asp 基础实例教程之八个小时打造新闻发布系统三
下面来学向数据库添加信息 需要两个文件 add.asp addnew.asp
(1)先建立一个提交表单add.asp
代码如下:
CODE:
<table width="23%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr>
<td width="167" height="31" align="center">添加信息</td>
</tr>
</table>
<form name="form1" method="post" action="addnew.asp">
<table width="59%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr>
<td height="31">标题:
<input name="title" type="text" id="title"></td>
</tr>
<tr>
<td height="26">内容:</td>
</tr>
<tr>
<td height="47"><textarea name="content" cols="60" rows="20" id="content"></textarea></td>
</tr>
<tr>
<td height="25" align="center"><input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="取消"></td>
</tr>
</table>
</form>
上面代码要注意的是action="addnew.asp"提交到addnew.asp文件
(2)处理文件addnew.asp
代码如下:
CODE:
<!--#include file="conn.asp"-->
<%
title=request.form("title")
content=request.form("content")
exec="insert into aa(title,content) values('"+title+"','"+content+"')"
conn.close
set conn=nothing
%>
代码解释:
(1)
title=request.form("title")
content=request.form("content")
这两句语句是接收add.asp发来的信息。。request.form("title")就是对应add.asp中的name="title"
(2)
exec="insert into aa(title,content) values('"+title+"','"+content+"')"
上面的语句是数据库插如信息的语句
insert into aa(title,content) 中文意思是插入信息对应aa表中的两个字段
两个字段的数值是values('"+title+"','"+content+"')" 这里面对应的值是
这两句语句
title=request.form("title")
content=request.form("content")
传递的
(3)
conn.close
set conn=nothing
关闭数据库。。写如成功后自动转页面到admin.asp
asp 基础实例教程之八个小时打造新闻发布系统四
接下来我们来学删除数据库信息。。。
删除信息比较简单。。只需要一个文件del.asp
代码如下:
CODE:
<!--#include file="conn.asp"-->
<%
exec="delete * from aa where id="&request.querystring("id")
conn.clos
e
set conn=nothing
%>
代码解释:
exec="delete * from aa where id="&request.querystring("id")
先翻译成中文意思
删除表aa中id字段的值。。这个值等于="&request.querystring("id")
还记得我们建立admin.asp文件的时候吗?里面有段语句是这样的
<td width="32" ><a href="del.asp?id=<%=rs("id")%>">删除</a></td>
大家现在看明白了吧!你们这么聪明。。一定明白了。
我再补充说两句
当我们点击删除的时候。。。这个时候就会连接到del.asp做处理。。
而同时del.asp接收到我们的请求是通过"&request.querystring("id")这句语句
然后ute exec 这条语句就执行删除。。
整个流程就是这样。。。
asp 基础实例教程之八个小时打造新闻发布系统五
现在学习数据的修改。 这是难点。。大家要认真的跟着我学。。
本人也是看了很久才学会的。。解释的不好多多包容。。
修改需要两个文件
(一)建立modify.asp 和del.asp很像似
代码如下:
CODE:
<!--#include file="conn.asp"-->
<%
exec="select * from aa where id="&request.querystring("id")
set ateobject("dset")
rs.open exec,conn,1,1
%>
<table width="23%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr>
<td width="167" height="31" align="center">修改信息</td>
</tr>
</table>
<form name="form1" method="post" action="modifyup.asp">
<table width="59%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr>
<td height="31">标题:
<input name="title" type="text" id="title" value="<%=rs("title")%>"></td>
</tr>
<tr>
<td height="26">内容:</td>
</tr>
<tr>
<td height="47"><textarea name="content" cols="60" rows="20" id="content"><%=rs("content")%></textarea></td>
</tr>
<tr>
<td height="25" align="center"><input type="submit" name="Submit" value="提交">
<input type="hidden" name="id" value="<%=request.querystring("id")%>">
<input type="reset" name="Submit2" value="取消"></td>
</tr>
</table>
</form>
代码解释:
(1)
<%
exec="select * from aa where id="&request.querystring("id")
set ateobject("dset")
rs.open exec,conn,1,1
%>
这句exec="select * from aa where id="&request.querystring("id")我在del.asp里解释过了
在这里也是一样的道理
set ateobject("dset")
rs.open exec,conn,1,1
上面是用recordset对象打开数据表。。。
(2)
<input type="text" name="title" value="<%=rs("title")%>">
这里要注意名字要对应。。否则或出错。。
<input type="hidden" name="id" value="<%=request.querystring("id")%>">
这里是隐藏表单。。。提交隐藏的表单元素会随着表单一起提交,
用于传递变量
(二)建立modifyup.asp 文件
代码如下:
CODE:
<!--#include file="conn.asp"-->
<%
exec="select * from aa where id="&request.form("id")
set ateobject("dset")
rs.open exec,conn,1,3
%>
<%
rs("title")=request.form("title")
rs("content")=request.form("content")
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
代码解释:
(1)
rs("title")=request.form("title")
rs("content")=request.form("content")
这两句话的意思是数据库中的rs("title")的值等于接收到request.form("title")的值
request.form("title")的值是从modify.asp传递来的。。
(2)
rs.update 这句语句是更新数据库里的信息的意思 就是把提交的信息上传到数据库
asp 基础实例教程之八个小时打造新闻发布系统六
前面把后台所需要的文件都做完了~
现在来做前台的 需要三个文件 index.asp list.asp newshow.asp
首先先做list.asp
代码如下:
CODE:
<!--#include file="conn.asp"-->
<%
exec="Select top 5 * From aa Order By id DESC"
set ute(exec)
if f then
dis_mes=dis_mes & "最新更新<br>"
do while f
dis_mes=dis_mes &"<img src=wangyeba/Article/web01/web01srv/200609/dot1.gif> <a href=newshow.asp?id=" & rs("id") & " target=_blank>" & rs("title") & "</a> " & rs("time") & "<br>"
loop
end if
rs.close
dis_mes="document.write(""" & dis_mes & """);"
response.write dis_mes
%>
代码解释:
(1)
exec="Select top 5 * From aa Order By id DESC"
set ute(exec)
选择数据库里的表aa的前5条信息
(2)
if f then
dis_mes=dis_mes & "最新更新<br>"
do while f
直到扫描到最后一条信息 游标就跳到第一条信息
dis_mes=dis_mes & "最新更新<br>"定义一个变量 变量后面是显示最新更新
(3)
dis_mes=dis_mes &"<img src=wangyeba/Article/web01/web01srv/200609/dot1.gif> <a href=newshow.asp?id=" & rs("id") & " target=_blank>" & rs("title") & "</a> " & rs("time") & "<br>"
&"<img src=wangyeba/Article/web01/web01srv/200609/dot1.gif>&这里是显示图片wangyeba/Article/web01/web01srv/200609/dot1.gif
<a href=newshow.asp?id=" & rs("id") & " target=_blank>"这里是连接到newshow.asp文件做处理 为每一条最新信息添加连接 当点激显示的信息时 就跳到newshow.asp
rs("title") & "</a> " & rs("time") 这里是显示数据库的title和time
(4)
dis_mes="document.write(""" & dis_mes & """);"
这段代码是输出dis_mes 的值
整个list.asp 文件的意思是输出数据库最新的前5条信息 并为每条信息添加连接 点激进入详细信息
asp 基础实例教程之八个小时打造新闻发布系统七
下面我们来做前台文件newsh
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论