农民程序员一周教会你asp第1讲

作者: 张栋 分类: 技术杂谈 发布时间: 2018/9/25 13:45:54 ė1213 浏览数 60条评论

【编者按:这是我2011年发布在蓝色经典论坛的一套教程,虽然很有指导意义,但是现在玩程序的人很少了。如今过去了七年了,点击率很高却无人回复。不免有些失落。作为本人的一套原创教程,把他转发到这里来留档。】



我是一个农民程序员,什么是农民程序员呢,这是我的一个partner给我起的,为什么叫农民程序员呢,我大学的专业是研究水泥生产线,就是材料类的,工作后先动笔杆子搞宣传,后来又从事行政工作,这都跟程序不沾边,我不懂得什么叫字符串,不懂得什么叫做函数,不懂得MVC,但是,这些都不妨碍我写程序,而且是写优秀的开源程序。就像农民伯伯一样,书本上的道理一窍不通甚至一个字都不认识,但是会种地,会种出丰收的田园。


好了,闲话少说,我们从今天开始,我用一周的时间,给大家讲我怎么学会的asp,怎么用asp写程序,确切的说,是套用程序。只要活学活用,随便改个程序甚至写个程序,都不在话下。学习这个教程的前提是,你会一些基本的html语法,至少是能知道tr和td是怎么循环的表格。

我先谈谈我的理念,我觉得,现在玩asp的站长和爱好者们,都不是说靠程序吃饭的,都是为了爱好,改改程序,为我所用,或者图个乐趣,所以,在程序的规范性和前因后果上,没有必要推理太多,只要能知道就用这行代码解决这个问题,知道这段代码的作用就行了,没有深究每一句作用的必要。当然,我这么说,很多人说我是在误导大家,但是,我的目的就是停留在会用就可以,如果真的想触类旁通的用,游刃有余的玩,那你得进专门的培训机构,那可是要花银子的。我的这个讲座,免费!


好,我们的主要任务:通过写一个最简单的留言本,告诉大家怎么玩asp!然后循序渐进将留言本的大部分功能都增加近来,从而在这份劳动中,体验asp的魅力,学会怎么写asp!

今天的第一件事情,我们要来分析一下一个留言本的机构:

1、显示留言,这里用到数据库的循环读取;

2、发表留言,用到的是数据库的插入

3、编辑留言,用到的是数据库的更新

4、删除留言,用到的是数据库的删除

对于一个数据库来说,就是这四个基本操作而已。


对于怎么搭建iis服务器,怎么安装micorsoft软件,这里不再赘述,不属于我们这几天学习的范围。


好,我们今天首先来构建一个Access数据库

在安装了micorsoft access软件的电脑上,构建一个最基本的数据库。

桌面,右键,新建,office access数据库,命名为shujuku.mdb



新建数据表lyb


新建字段id,addtime,addname,title,content,类型分别如图所示:



Id就是一个唯一索引,用来作为本条记录的唯一编号;addtime是时间日期格式,用来记录留言发布时间;addname是发布人;title是留言标题,字段长度100字节;content是留言内容,要求是备注格式,这个格式是存储正文的格式。

好了,数据库建立完毕,放入iis目录。

要是不会配置iis,可以用简易的webserver服务器,实在不行,买个小空间,把程序放进去测试吧。

我们来建立第一个asp文件,放在根目录下,就命名为index.asp吧,用记事本或者editplus打开。

Asp文件中需要服务器执行的代码,用<%%>包括起来。

首先,要写连接数据库代码,这个代码是一个固定的内容,会用就行了,不要问那么多,要是有精力,可以百度具体内容。这里的DbPath = "shujuku.mdb"'根据你的具体需要修改数据库路径和名称,支持文件夹格式。后面那个中文说明是注视,asp的注释符号是’,只要有了这个符号,他后面的本行语句就不执行了。
  1. <%
  2. DbPath = "shujuku.mdb"'数据库位置路径名称
  3. ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(DbPath)
  4. Set Conn = Server.CreateObject("ADODB.Connection")
  5. Conn.open ConnStr
  6. %>
复制代码
好,到此,连接数据库搞定。只要这个页面不写关闭代码,就可以一直使用,直到页面结束或者关闭执行。



下面,我们继续来研究,研究之前,需要给数据库增加一些内容,才能读取数据库的记录。这里我们手动打开micorsoft access数据库,手动添加记录如下。



下面,我们开始书写数据库的循环输出代码

为什么是循环输出呢,因为我们要输出所有的数据库记录,或者说是一组记录,比如第一条到第三条吧。

代码如下,听我细细讲来

  1. <%
  2. Set rs = Server.CreateObject("ADODB.Recordset")
  3. Sql="select * from lyb order by id desc"
  4. rs.OPEN sql,Conn,0,1
  5. if rs.eof and rs.bof then
  6.        Response.Write"还没有留言"
  7. else
  8.        do while not rs.eof
  9. %>
  10. 序号:<%=rs("id")%>

  11. 姓名:<%=rs("addname")%>

  12. 标题:<%=rs("title")%>

  13. 留言时间:<%=rs("addtime")%>

  14. 留言内容:<%=rs("content")%>


  15. <% rs.movenext
  16.        loop
  17. end if
  18.        rs.close
  19.        Set rs=Nothing
  20. %>
复制代码
我们来逐条讲讲:

Set rs = Server.CreateObject("ADODB.Recordset")

是打开记录集,具体参考百度,我这里只讲用法。你可以用rs=,也可以用rs1,用abc,用jiluji等等,都是可以随便起名字的。但是一定记住,这里是什么,后面的所有的rs都要改成你使用的那个。比如rs.open,rs.close等等。

第二,Sql="select * from lyb order by id desc"

这是一个sql语句。Sql语句是你需要调用内容的灵魂。你所选取的内容是什么,都是由他决定的。我们来插播一下Sql语句常用的读取语法

1、读取所有记录:select * from 表名字,比如select * from lyb

2、读取所有记录按照id倒叙排列:select * from表名字 order by id desc。Desc是倒叙排列,asc或者默认是顺序排列。

3、有时候,我们会看到select addtime,addname from lyb order by id desc这里只是读取两个字段,用几个读取几个字段,提高效率。

4、在首页的时候,我们一般会显示最新的五条记录,怎么办呢?select top 5 * from lyb order by id desc,用到了top 5

基本的读取语句就解释完毕了。大家可以慢慢摸索。



第三,rs.OPEN sql,Conn,0,1这里是打开记录集

if rs.eof and rs.bof then   如果没有记录,就输出一下提示

       Response.Write"还没有留言"

Else  否则,就往下走,进行循环,这里用的是do while 循环

       do while not rs.eof

<%=rs("id")%>这就是输出id字段。这里的<%=就是response.write的意思,它等同于<%response.write rs("id")%>

循环完毕往下走

<%

       rs.movenext移动到下一条记录

       loop循环

end if结束判断

       rs.close关了吧

       Set rs=Nothing释放rs,这里的rs就是前面你起的名字

%>



好了,到此为止,我们已经可以很轻松的从数据库里取出记录并进行排序显示了。

通过浏览器访问http://localhost看看吧


今天的教程就这么简单,只要大家能够按照这个教程,适当的修改,就会很轻松的读取出你需要的内容。

随着教程附送的例子就是我们刚才建立的数据库,里面增加了一个表,叫做“city”,里面有字段id,chengshi两个字段,留个作业,按照我给的代码,读取出前10条城市数据表中的字段循环,按照id从小到大排序。


本文出自 栋力天空,转载时请注明出处及相应链接。

本文永久链接: http://www.dongsky.cn/show_1589.html

0

0条评论

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    *请输入本文永久链接 show_1589.html 的数字部分

Ɣ回顶部