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

作者: 张栋 分类: 技术杂谈 发布时间: 2018/9/25 14:01:28 ė1502 浏览数 60条评论
好,我们今天来讲第二讲。
昨天的教程大家热情很高,我今天很忙,因为今天是Monday,所以说周一就是“忙day”,但是我依然坚守承诺,继续农民程序员的asp生活。

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

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


为什么要增加链接呢,是为了今天讲起来方便。
好,既然连接到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内容如下:

好的,按照这个逻辑,改造一下昨天我们学会的index.asp



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

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


具体代码如下:
  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页面上来,通过我们刚开始增加的那个超级链接,访问每条留言的详细情况。


下面是课外阅读时间,我们将完成两个事儿,第一个事儿是我刚才图片中标注的,可以读取不输出,放在变量里面。就是银行提款不花钱,放在你的钱包里,什么时候用,什么时候花。第二个事儿,是我刚才想起来的,我们玩个可以更新的计数器。
好,先说读取不输出。其实很简单,完全可以作为作业来做。代码如下:
  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



修改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)家”。简单说这两个数字参数分别是数据库操作模式和游标类型的,再说就扯远了。




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

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

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

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

0

0条评论

    发表评论

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

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

Ɣ回顶部