收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 10537|回复: 21

[asp] 农民程序员一周教会你asp第2讲

  [复制链接]
发表于 2011-10-31 21:00:54 | 显示全部楼层 |阅读模式
好,我们今天来讲第二讲。
昨天的教程大家热情很高,我今天很忙,因为今天是Monday,所以说周一就是“忙day”,但是我依然坚守承诺,继续农民程序员的asp生活。

今天我们研究一个主题:读取特定一条留言记录。
一个功能,也许留言本用不到这个功能,但是在asp的文章系统或者说几乎所有的系统里,都会用到,其实留言本也会用到,等后天的时候讲编辑留言的时候,就用到了。
所以,今天这个事儿,撇开留言本,我们只说例子。

我们还是回到昨天的例子中来,给昨天的例子增加一个小链接吧。这都是html的基础,不多说了。要阅读农民程序员的文章,最好的基础是会一些基础的html标识语言,起码要知道tr td是怎么循环的。如果你还停留在用传统的网页设计布局,不会看代码或者不习惯看代码的话,你还是用Dreamweaver拖拽着做asp吧,dw拖出来的代码,不是给人看的,全是MM打头的代码,神马东西嘛!
例子如图:
201.jpg

为什么要增加链接呢,是为了今天讲起来方便。
好,既然连接到show.asp文件了,那么我们就重新做个文件,叫做show.asp
每个页面头部都要引入连接数据库的代码,还是昨天那行代码。

我们在看别人的代码的时候,没见到每页都引入连接数代码啊,而且这么做的话,改个数据库名字还要每个页面都修改,所以我们要插播一则寻人启事。就是关于“引入文件”的提法。
Asp是动态服务器页面技术,可以通过include引入别的文件,编程本文件的一部分,参与执行。
参考模型例子:
新建文件1.asp,内容如下:

  1. 追梦阳光是一个充满了激情的团队,他的成员如下:
  2. <font color=red>
  3. <!--#include file="2.asp"-->
  4. </font>
  5. www.dongsky.cn
复制代码
然后新建2.asp,内容如下:

  1. <br>Zidone,神奇的程序大师<br>
  2. <br>zd8987,追梦阳光,栋力无限!<br>
复制代码
运行1.asp,你就什么都明白了。


好了,include说完了,回过头来,我们就可以把连接数据库的代码,放到inc.asp文件中,然后再在每个文件中引入inc.asp文件。
Inc.asp内容如下:
202.jpg
好的,按照这个逻辑,改造一下昨天我们学会的index.asp

203.jpg

你要是问我最前面那代码是干吗的,你管那么多干嘛,就是个asp的编码而已,中文网页的编码就是这么写就错不了,做事儿只做农民程序员份内的,其他的交给“科学(Xiao)家”去解释。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
一定别忘了引入文件
<!--#include file="inc/conndb.asp"-->

好的,下面开始我们的show.asp的行程。
这个页面主要作用就是显示一篇留言,是是哪一篇呢?要看访问的路径是show.asp?id=dd,看这个dd是多少。
204.jpg

具体代码如下:
  1. <%
  2. getid=Request.QueryString("id")
  3. '本页面中使用的参数getid,是这样来的,
  4. '来自于get方式得到的参数id,就是show.asp?id=1的这个id,结果就是1

  5. '下面打开数据库哦,这些跟第一天教程都一样,就是少了个循环而已。
  6.        set rs=server.CreateObject("adodb.recordset")
  7.        sql="select * from lyb where id="&getid
  8.        rs.open sql,conn,1,1
  9.        If Rs.Eof And Rs.Bof Then
  10.               Response.Write("访问错误!")
  11.        Else
  12.        %>
  13. <H2>单条显示内容</H2>   
  14. 序号:<%=rs("id")%><BR>
  15. 姓名:<%=rs("addname")%><BR>
  16. 标题:<%=rs("title")%><BR>
  17. 留言时间:<%=rs("addtime")%><BR>
  18. 留言内容:<%=rs("content")%><BR><BR>
  19. <BR>显示完毕!
  20.        <%
  21.        End If
  22.        rs.close
  23.        set rs=nothing
  24. %>
复制代码
好了,到此为止,今天的主要内容就讲完了,我们通过以上代码,读取了特定一条留言记录。
大家可以回到访问index.asp页面上来,通过我们刚开始增加的那个超级链接,访问每条留言的详细情况。
205.jpg

下面是课外阅读时间,我们将完成两个事儿,第一个事儿是我刚才图片中标注的,可以读取不输出,放在变量里面。就是银行提款不花钱,放在你的钱包里,什么时候用,什么时候花。第二个事儿,是我刚才想起来的,我们玩个可以更新的计数器。
好,先说读取不输出。其实很简单,完全可以作为作业来做。代码如下:
  1. <%
  2. getid=Request.QueryString("id")
  3.        set rs=server.CreateObject("adodb.recordset")
  4.        sql="select * from lyb where id="&getid
  5.        rs.open sql,conn,1,1
  6.        If Rs.Eof And Rs.Bof Then
  7.               Response.Write("访问错误!")
  8.        Else
  9. Du_title=rs(“title”)
  10. Du_id=rs(“id”)
  11. Du_content=rs(“content”)
  12. Du_addtime=rs(“addtime”)
  13. ‘我不写了,以下可以融会贯通写无数个,别撑破了你的钱包哦~~~~~
  14.        End If
  15.        rs.close
  16.        set rs=nothing
  17. %>
复制代码
这么做比较清晰,上来就是读取数据库,然后写入变量中,然后结束,如果没有别的事儿,这一页的asp跟数据库的对接就完成了,剩下的事儿就是你什么时候想用title了,直接<%=du_title%>就可以了。这个时候不能再用rs了,因为你已经rs.close了,就算不关闭,你也没有必要继续从rs中读取了,因为你的内存中已经有了,他叫做du_title。

好,课外阅读翻过。

我们继续打开Access数据文件,给lyb增加个字段,叫做clicknum,点击数嘛!字段类型为数字,默认是0
206.jpg


修改show.asp,增加显示这个字段的地方,我就不给代码了,大家应该能融会贯通了。
Du_ck=rs(“clicknum”)
这个代码就代表了将clicknum的数值,赋予给了Du_ck
然后:Du_ck= Du_ck+1
这个大家都应该会明白的,比数据库里面的数字多1,就是又增加了一次。但是这个数字不能入库啊,我们继续来.
PS:这里要特别说明一下啊,为什么Du_ck变量可以“+1”。ASP页面所用的脚本不需要声明变量类型,变量是所谓的“万能变量”。所以,当你Du_ck+1的时候,程序已经自动的把Du_ck当成了“数字”类型,进行加运算。

然后:
Rs(“clicknum”)= Du_ck
Rs.update
好了,别看这代码跟前面的就是等号前后顺序不一样,但是意义全反过来了。
这两行代码的意思是,把Du_ck赋值给rs(“clicknum”),
然后update数据库,这才是灵魂所在。
但是啊,这里有个能否实现的最大关键,就是       “rs.open sql,conn,1,1”中的最后一个数字,一定要是3 ,否则,是不能更新数据库的,具体为什么不行,我是个农民,这不是农民该研究的事情,这你得问“科学(Xiao)家”。简单说这两个数字参数分别是数据库操作模式和游标类型的,再说就扯远了。
207.jpg



好了,课外阅读就到这里,明天同一时间,我们继续!

明天我们的议题是怎么发布新留言以及在今天课外阅读的基础上,编辑留言。


第二天文件.rar (10.91 KB, 下载次数: 494)

评分

参与人数 1威望 +1 收起 理由
nealyo + 1 原创内容

查看全部评分

发表于 2011-11-1 09:13:02 | 显示全部楼层
支持一下吧。。虽然早已转美工了。。
回复 支持 反对

使用道具 举报

发表于 2011-11-1 09:19:35 | 显示全部楼层
感谢楼主分享,顶一个
回复 支持 反对

使用道具 举报

发表于 2011-11-1 09:57:50 | 显示全部楼层
我都怀疑谁在考古,难得,帮顶!
回复 支持 反对

使用道具 举报

发表于 2011-11-1 09:59:44 | 显示全部楼层
haha 关注 要楼主能坚持1年就相当了不起
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-1 10:08:24 | 显示全部楼层
croyg 发表于 2011-11-1 09:59
haha 关注 要楼主能坚持1年就相当了不起

您的意思是,我写个“一年教会你asp”?每天学习一行语句~~~~~
回复 支持 反对

使用道具 举报

发表于 2011-11-1 14:11:53 | 显示全部楼层
看看樓主能堅持多久,當你堅持不下來的時候,我也打算出一個php版本的!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-1 15:25:18 | 显示全部楼层
nowphp 发表于 2011-11-1 14:11
看看樓主能堅持多久,當你堅持不下來的時候,我也打算出一個php版本的!

七天嘛,还是能咬着牙下来的,我开始写第三天了。
回复 支持 反对

使用道具 举报

发表于 2011-11-1 16:10:05 | 显示全部楼层
谢谢楼主!期待下一讲!
回复 支持 反对

使用道具 举报

发表于 2011-11-1 16:51:31 | 显示全部楼层
支持一下啦
回复 支持 反对

使用道具 举报

发表于 2011-11-1 20:36:48 | 显示全部楼层
现在用ASP的很少了吧
回复 支持 反对

使用道具 举报

发表于 2011-11-2 10:27:28 | 显示全部楼层
zd8987 发表于 2011-11-1 15:25
七天嘛,还是能咬着牙下来的,我开始写第三天了。

好吧,那就等你寫完之後,我再出個php版本的!
回复 支持 反对

使用道具 举报

发表于 2011-11-2 21:27:43 | 显示全部楼层
支持一下,不错!
回复 支持 反对

使用道具 举报

发表于 2011-11-22 23:29:01 | 显示全部楼层
顶一下 ,希望发一些有关php的帖子··············
回复 支持 反对

使用道具 举报

发表于 2011-11-23 09:58:30 | 显示全部楼层
先回了再慢慢研究
回复 支持 反对

使用道具 举报

发表于 2011-12-30 16:43:20 | 显示全部楼层
学到第二天了
回复 支持 反对

使用道具 举报

发表于 2012-1-16 21:40:27 | 显示全部楼层
为什么我 全复制的代码去运行,结果总是提示我 缺少对象: 'conn' 数据源我也建立了。代码也全部一样的。这个是那出错了!
回复 支持 反对

使用道具 举报

发表于 2012-4-29 21:05:44 | 显示全部楼层
嗯嗯,准备看第三篇了~~~~~~~
回复 支持 反对

使用道具 举报

发表于 2012-5-5 11:12:51 | 显示全部楼层
这讲程通俗易懂,好贴
回复 支持 反对

使用道具 举报

发表于 2012-5-5 12:46:25 | 显示全部楼层
第一讲看得挺轻松的,第二讲开始有点吃力了。努力消化和扩展阅读中,谢谢楼主。
回复 支持 反对

使用道具 举报

发表于 2012-7-28 15:34:03 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2012-10-31 15:38:42 | 显示全部楼层
后面没有了?只有二讲?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )  

GMT+8, 2020-9-29 13:43 , Processed in 0.140269 second(s), 14 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表