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

我是一个农民程序员,什么是农民程序员呢,这是我的一个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的注释符号是’,只要有了这个符号,他后面的本行语句就不执行了。

<%

DbPath = "shujuku.mdb"'数据库位置路径名称

ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(DbPath) 

Set Conn = Server.CreateObject("ADODB.Connection") 

Conn.open ConnStr 

%>

复制代码

好,到此,连接数据库搞定。只要这个页面不写关闭代码,就可以一直使用,直到页面结束或者关闭执行。

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

 

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

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

 

代码如下,听我细细讲来

<%

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

Sql="select * from lyb order by id desc"

rs.OPEN sql,Conn,1

if rs.eof and rs.bof then

       Response.Write"还没有留言"

else

       do while not rs.eof

%>

序号:<%=rs("id")%><BR>

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

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

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

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

<HR>

<% rs.movenext

       loop

end if

       rs.close

       Set rs=Nothing

%>

复制代码

我们来逐条讲讲:

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,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就是前面你起的名字

%>

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

通过浏览器访问localhost看看吧

 

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

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

 

第一天文件:

点击下载

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


数组的定义 Dim MyArray MyArray = Array(1‚5‚123‚12‚98) 可扩展数组 Dim MyArray() for i = 0 to 10
\'参数: \'code:要检测的代码 \'leixing:html或者ubb \'nopic:代码没有图片时默认值
演示效果: 代码下载: 点击下载
环境:winxp sp2 ,mysql5.0.18,mysql odbc 3.51 driver 表采用 myisam引擎。access 2003  不同的地方: 
其实说起AJAX的初级应用是非常简单的,通俗的说就是客户端(javascript)与服务端(asp或php等)脚本语言的数据交互。
<% ’判断文件名是否合法 Function isFilename(aFilename)  Dim sErrorStr,iNameLength,i  isFilename=TRUE
在调用的时候加入判断就行了. {aspcms:navlist type=0 } {if:[navlist:i]<6} < li><a href=\"[navlist:link]\" target=\"_top\">[navlist:name]</a> </li>
导航栏调用 {aspcms:navlist type=0}     <a href=\"[navlist:link]\">[navlist:name]</a>
1.引入外部文件: {aspcms:template src=infobar.html} 2.二级下拉菜单 <ul class=\"nav\">
downpic.asp页面:  <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
Cookies是数据包,可以让网页具有记忆功能,在某台电脑上记忆一定的信息。Cookies的工作原理是,第一次由服务器端写入到客户端的系统中。以后每次访问这个网页,都是先由客户端将Cookies发送到服务器端,再由服务器端
很简单,在需要调用的地方用这种模式 {aspcms:content sort={aspcms:sortid} num=17 order=isrecommend}
网站系统使用ACCESS数据库时,查询时怎么比较日期和时间呢?为什么常常比较出来却是错误的呢?比如早的日期比迟的日期大?
str1=\"1235,12,23,34,123,21,56,74,1232\" str2=\"12\" 问题:如何判断str2是否存在str1中,要求准确找出12,不能找出str1中的1235、123、1232
实例为最新版本的kindeditor 4.1.5. 主要程序: <% Const sFileExt=\"jpg|gif|bmp|png\" Function ReplaceRemoteUrl(sHTML,sSaveFilePath,sFileExt)
用ASP实现搜索引擎的功能是一件很方便的事,可是,如何实现类似3721的智能搜索呢?比如,当在搜索条件框内输入“中国人民”时,自动从中提取“中国”、“人民”等关键字并在数据库内进行搜索。看完本文后,你就可以发
首先感谢ASPCMS官网注册用户xing0203的辛苦付出!一下为久忆YK网络转载原创作者xing0203的文章内容!为了让小白更加清楚的体验替换过程,久忆YK对原文稍作了修改!
数据库连接: <% set conn=server.createobject(\"adodb.connection\") conn.open \"driver={microsoft access driver (*.mdb)};dbq=\"&server.mappath(\"数据库名\")
第1步:修改plugins下的image/image.js 找到\'<input type=\"button\" class=\"ke-upload-button\" value=\"\' + lang.upload + \'\" />\',
asp函数: <% Const sFileExt=\"jpg|gif|bmp|png\" Function ReplaceRemoteUrl(sHTML,sSaveFilePath,sFileExt)