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

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

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

搜索
查看: 9056|回复: 18

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

  [复制链接]
发表于 2011-11-1 21:30:02 | 显示全部楼层 |阅读模式

女士们,先生们,ladys and 乡亲们,大家好,我们第三讲在大家的鼓倒掌声中隆重开始啦,有人说asp已经过时了,我想只要我还活着,就不会过时啊,因为我还要用啊,我就只会用asp啊,哈哈。开个玩笑,虽然过时了,但是他还是很受那些入门程序员欢迎的,所以我们还要继续滴。

有人说,你这个教程不讲基础,不讲原理,就知道贴代码,我们怎么能看懂啊,我不是说了吗,我的教学方法就是应用型的,你会贴代码,你就会做网站,我给你的都是万能代码,万能啊,懂嘛!

好,言归正传,开始我们今天的讲座。今天首先我们来讲个原理。关于asp提交到数据库的操作模型。

301.jpg


我们一般写留言本的时候,都有一个书写界面,就是大家填写留言的界面,他可以是动态asp的,也可以是静态html的,都可以。但是呢,这个界面不可缺少的东西是<form>(表单)标签,他决定了你的这个表单要提交的内容和提交给谁。表单里面的东西一般是input或者select等等吧,这都是基本的html的玩意儿。我们来看一个最简单的form吧,写个留言。
新建一个文件。叫做add.htm,就htm吧,证明他可以是静态的。
写个表单内容:

  1. <FORM METHOD=POST ACTION="addsave.asp">
  2. 填 写 人:<input type="text" name="addname"><BR>
  3. 留言标题:<input type="text" name="title"><BR>
  4. 留言内容:<TEXTAREA name="content" ROWS="5" COLS="30"></TEXTAREA><BR><BR>
  5. <input type="submit" name="提交给数据库吧!">
  6. </FORM>
复制代码
页面显示如下:

302.jpg


我们来看代码,代码中form标签中,method是post格式,昨天我们讲获取id的时候,是get格式,一般就用这两个格式。如果笼统地说,你点个标题,打开个页面,一般是get方式传递,如果你点个按钮,提交个信息,一般是form方式传递,我说的是多数,不嫌麻烦的话,他俩可以换用。因为是表单,我们就常规一些,post吧。Action就是行为指向,指向了addsave.asp。既然说到了addsave.asp这个文件,我们就是要提交给他,由他来接收提交过来的数据,并操作数据库,强势插入!爽歪歪!!!

好,我们来看操作addsave.asp代码:

  1. <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>’这些东西都是昨天学得,今天不讲了
  2. <!--#include file="inc.asp"-->
  3. <%
  4. Set rs = Server.CreateObject("ADODB.Recordset")
  5.        sql = "SELECT * FROM lyb"
  6.        rs.OPEN sql,Conn,1,3
  7.        rs.addnew’这句话是增加新纪录的核心数据。一定要有
  8.        rs("addname")=Request.Form("addname")’就是把你通过form获取的addname赋值给rs(“addname”)字段,然后更新,具体可以看看昨天我提到的访问统计课外阅读。

  9.        rs("addtime")= Now()’now()是asp的一个获取时间的函数,什么是函数,我们后面会讲
  10.        rs("title")=Request.Form("title")
  11.        rs("content")= Request.Form("content")
  12. rs("clicknum")=0
  13. '如果还有别的字段,可以继续往下写……

  14.        rs.update’这个我们在昨天的计数器中提到过。
  15.        rs.close
  16. set rs=Nothing
  17. response.write "ok! <a href='index.asp'>返回啊返回!</a>"
  18. %>
复制代码
运行add.htm,然后提交留言,就会触发这个页面,并显示执行结果

303.jpg
304.jpg

好了,插入成功啦!返回看一下。

305.jpg


完成发布提交任务。
当然这些东西都是最基本的,不考虑字段类型啊,长度啊,判断啊等等各种安全性措施,如果需要进一步的学习,可以继续深入研究。

下面我们回过头来改造我们的发布区域。
复制add.htm,改名字为bianji.asp,然后打开。
回顾昨天学习的读取的内容,将昨天读取一条内容的代码贴过来。
如图所示:

306.jpg


其实,就是打开读取一条记录,但是不在普通页面显示,而是在表单中显示。
在input表单中,用value=显示,在textarea中,是在配对的标签中显示,如上图所示。
然后我们访问一下这个页面
Bianji.asp?id=8,就是刚才我们提交的那个页面。



看,是不是太神奇了,我们居然又还原回到了发布前的状态,只不过现在是在编辑状态下。

同样,编辑状态完成后,也要通过触发数据库,进行操作。触发数据库的代码,其实昨天我们在学习计数器的时候,已经讲过啦。简单一点儿就是rs.update嘛!
但是不能忽视一点的就是,程序在编辑状态下,要提交,是要有一个主键的,什么是主键呢,就是我们建立数据表的时候的那个id,只有通过form传递一个id给触发代码,他才会知道是修改哪一条记录,否则,否则全改了,有多少改多少,你哭都没地方哭啊。就像那个短信群发的那个笑话段子啊,很经典的。

好,看看修改提交和发布提交的form代码差别在哪里。

308.jpg


对头,就是多出了一行,用来传递这个留言的唯一id主键

309.jpg


然后看看触发数据库的那段代码差别在哪里。我们复制一个addsave.asp,然后看我怎么改。

对头,就是这两行:
SELECT * FROM lyb where id="&formid
SELECT * FROM lyb
看明白了吧?操作一下,我们试试看哦

310.jpg


恭喜我吧,成功啦!


好了,编辑留言也学会了,太简单啦,难道一个留言本就这么简单的几行代码就完成了吗?
是的理论模型就完成了,很简单,也很丑陋,但是这确是实现所有功能的最基本的框架,就像一座大楼,刚刚做好了框架,还没有装修,但是大厦已经挺立起来了!

好的,今天的讲座就讲这些吧,最后顺便把数据库的最后一项操作【删除】给大家讲讲,删除没有技术含量,就是个delete代码如下|:

  1. conn.execute("delete from lyb where id="&getid&"")
复制代码
好,我们建立一个删除文件, shanchu.asp,内容如下:

311.jpg



需要删除的时候,可以用shanchu.asp?id=xx进行删除。

拖堂了,拖堂的老师是学生不喜欢的老师。各位,晚安!

本堂代码附件: 第三天.rar (12.68 KB, 下载次数: 128)

评分

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

查看全部评分

发表于 2011-11-1 23:19:29 | 显示全部楼层
本帖最后由 zidone 于 2011-11-1 23:21 编辑

刚刚看消息才发现该论坛不能“疑似灌水”。
支持下斑竹,支持下楼主。ASP小学生飘过。
回复 支持 反对

使用道具 举报

发表于 2011-11-1 23:24:22 | 显示全部楼层
入门是基础,后面要学的东西就多了,所以常到版里来看看。最好是能回答一些问题。这样你就能把你将要碰到的问题,都提前解决掉。呵呵。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-1 23:44:19 | 显示全部楼层
zidone 发表于 2011-11-1 23:19
刚刚看消息才发现该论坛不能“疑似灌水”。
支持下斑竹,支持下楼主。ASP小学生飘过。

zidone老师坐了我的沙发啊,感谢!你还是我的启蒙老师呢。
回复 支持 反对

使用道具 举报

发表于 2011-11-2 11:17:35 | 显示全部楼层
不管怎么说也支持一下
回复 支持 反对

使用道具 举报

发表于 2011-11-2 11:47:18 | 显示全部楼层
呵呵,支持楼主,我也是用asp的!
回复 支持 反对

使用道具 举报

发表于 2011-11-2 12:38:29 | 显示全部楼层
进来看
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2011-11-2 15:33:19 | 显示全部楼层
哈又见楼主更新了...好体力 哈哈 加油
回复 支持 反对

使用道具 举报

发表于 2011-11-2 16:37:04 | 显示全部楼层
还能见到这么古老的语言,加油
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2011-11-2 23:04:36 | 显示全部楼层
楼主辛苦,比较适合初学者入门,支持下
回复 支持 反对

使用道具 举报

发表于 2011-12-10 17:00:21 | 显示全部楼层
期待下个讲出来
回复 支持 反对

使用道具 举报

发表于 2011-12-23 16:27:15 | 显示全部楼层
顶 支持一下
回复 支持 反对

使用道具 举报

发表于 2011-12-23 18:33:54 | 显示全部楼层
这个附件为什么下载不下来?

或者

bianji.asp

bianjisave.asp
的代码分别是什么?
你的课程没讲清楚哦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-24 15:08:22 | 显示全部楼层
bianji.asp就是图306.jpg
bianjisave.ap就是图309.jpg
回复 支持 反对

使用道具 举报

发表于 2012-1-15 17:04:37 | 显示全部楼层
有些看不明白啊
回复 支持 反对

使用道具 举报

发表于 2012-4-29 21:22:23 | 显示全部楼层
今天有点复杂了,不过看了两遍还是看懂了,只是代码记不住啊,加收藏夹了,需要的时候过来抄,哈哈
回复 支持 反对

使用道具 举报

发表于 2012-5-6 15:49:44 | 显示全部楼层
看到第三章了,很实用。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2020-9-28 05:06 , Processed in 0.140272 second(s), 11 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

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