搜索文章:

首页  |  Java技术  |  Asp.net  |  Asp编程  |  VC/C++  |  Delphi  |  VB编程

另一种显示文章系统的思路-1

现在很多人用access数据库实现文章显示系统,由于access数据库本身的缺陷,用一个字段存放文章内容,我以为对于访问量
大,文章数目多的网站,很容易产生错误,此举是极不明智的,经过实际比较,笔者得出另一种实现文章系统的方法,那就是采
用access+文本文件 的模式.其中access数据库用来存每篇文章的一般信息,而文本文件用来存放具体文章内容.具体实现方
法实现如下:
先用access建立一个数据库wzozg,里面只有一个表ozg,存放文章一般信息,字段如下:
字段名 类型 含义
wid 自动编号 文章id号
wsubject 文本 文章标题
wname 文本 存放文章内容的文本文件名
wcount 数字 文章访问次数
wdate 时间 文章加入时间
wauth 文本 文章作者
wsource 文本 文章来源
其中wid与wname唯一对应,如wid=10,则wname="wz-10.asp",若wid=n,则wname="wz-n.asp"
以下是文章添加,删除,以及实现文章标题列表显示,每篇文章具体内容显示的关键代码段:
1.文章添加
1)wzadd.html
<form method="post" action="add.asp">

<p>文章标题:<input name="isubject" size="45" maxlength="30"></p>

<p>文章作者:<input name="iauth" size="45" maxlength="30"></p>

<p>文章来源:<input name="isource" size="45" maxlength="30"></p>

<p>文章内容:</p>
<textarea cols="80" name="icontent" rows="16"wrap="virtual"></textarea></p>

<p><input type="submit" value="完 成" name="submit">
<input type="reset" value="重 写" name="reset"></p>
</form>

2)add.asp
<%sj=now() 返回系统时间

isubject= request.form("isubject")
icontent = request.form("icontent")
iauth= request.form("iauth")
isource = request.form("isource")

dim xwzlr()
n=0
for i = 1 to len(icontent)
zh =mid(icontent,i,1)
xzh=server.htmlencode(zh) 使字符不支持html语法
redim preserve xwzlr(n)
xwzlr(n)=lrtemp 使add.html中表单form中textarea一行一行分别存在数组中
if asc(xzh)=10 then
n=n+1
lrtemp=""
redim preserve xwzlr(n)
end if
lrtemp = lrtemp + zh
next
连接数据库
set dbconn=server.createobject("adodb.connection")
conpath="dbq=" &server.mappath("wzozg.mdb")
dbconn.open "driver={microsoft access driver (*.mdb)}; " & conpath
新增文章
iozg="wz-"
sql="insert into ozg(wsubject,wname,wcount,wdate,wauth,wsource) values
("&isubject&","&iozg&",0,"&sj&","&iauth&","&isource&")"
dbconn.execute(sql)

sql="update ozg set wname=wz-&cstr(wid)&.asp " 若文章id=n (n=0,1,2,...),则使 存放文章内容的文本文件
名为 "wz-n.asp",即id号与文本文件名唯一对应
dbconn.execute(sql)
sql="select wcontent from ozg "
set rs=server.createobject("adodb.recordset")
rs.open sql,dbconn,3,1
rs.movelast
iozg=rs("wcontent") 获取文本文件名"wz-n.asp"
rs.close
dbconn.close
thisfile = server.mappath(iozg)
set fs=server.createobject("scripting.filesystemobject")
set outfile = fs.createtextfile(thisfile) 创立文本文件"wz-n.asp" (n=0,1,2,...)
for i=0 to n step 1
outfile.writeline xwzlr(i) 把数组中的文章内容逐行写入文本文件"wz-n.asp"中
next
outfile.close
set fs=nothing
%>
---------------------------------------------------

()

相关文章:
© 2006   www.java-asp.net