帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP编程
另一种显示文章系统的思路-1
作者: 发布时间:2005-03-12 来源:
现在很多人用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
%>
---------------------------------------------------
writen by aspboy and powered by http://easp.126.com
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·SQL中代替Like语句的另一种写法  (2005-03-12)
 ·一个检测一个字符串在另一个字符  (2005-03-12)
 ·使用Windows DNA 设计、部署和管  (2005-03-12)
 ·使用Windows DNA 设计、部署和管  (2005-03-12)
 ·使用Windows DNA 设计、部署和管  (2005-03-12)
 ·使用Windows DNA 设计、部署和管  (2005-03-12)
 ·PHP中重新定向到另一个页面  (2005-03-11)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·在ASP中使用数据库
·使用ASP脚本技术
·通过启动脚本来感受ASP的力量
·学习使用ASP对象和组件
·解析asp的脚本语言
·初看ASP-针对初学者
·ASP开发10条经验总结
·ASP之对象总结
·ASP与数据库应用(给初学者)
·关于学习ASP和编程的28个观点
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统