ASP教程之跟我学做在线查询拜访(一)
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。在线 写在后面关于在线查询拜访人人必定不会生疏吧,给出一个成绩和数个谜底,让用户
填写,然后把了局保留到数据库,主动停止统计,最初给出个统计的图。这
期的跟我学做就来做一个在线查询拜访体系。
1、功效设计
这么复杂的体系也要做功效设计?有的人或许会感觉奇异,不外话说回来
不论怎样的体系,先做功效设计老是能对体系有个对照清析的懂得。让咱们
来看看在线查询拜访的功效吧。根基的功效下面已说了,就是要给出一个成绩和数
个谜底,然后统计,最初给出图。在这个基本上,咱们可以思索给一个查询拜访加上
一个工夫段(无效期),在这个工夫段里查询拜访是无效的,过了这段工夫就主动结
束这个查询拜访。别的,咱们可以指定一个用户一次只能提交一次谜底。假如你要限
制得更多,可以指定一个IP只能提交一次谜底,不外,如许能够一个网吧里的人
只能有一个提交了。关于查询拜访里的成绩,有些多是单选题,而有些多是多选
题。最初来讲说统计的图,在统计图里要给出谜底、每一个谜底的投票人数,并要
显示出每一个谜底投票数所占的比例。普通用横的图就能够了,也对照轻易完成,
固然,假如你要改成竖的,也能够。
如今依据下面总结出在线查询拜访的功效以下:
1、数据保留在ACCESS 2000 数据库中;
2、每一个用户一次会见可以投票一次
3、给出每一个查询拜访的统计情形,用统计图来显示
4、每一个查询拜访都有个无效期,过时后主动停止。停止了的查询拜访只能检查了局。
5、办理员可以增添查询拜访,修正查询拜访的谜底(增添、修正、删除,修正类型)。
6、关于已停止的查询拜访,办理员只能删除查询拜访,而不克不及修正谜底。
7、只要一个办理员(单用户)
2、数据库设计
如今来设计数据库,依据功效请求,最少要有三个表,一是办理员表,二是
查询拜访表,三是查询拜访了局表。数据库文件名为survey.mdb 可以改成.asp 假如改
的话,请在ASP法式中作响应的修正。
表1、 办理员表 表名: manage
-----------------------------------------------------------------
字段 类型 长度 申明
-----------------------------------------------------------------
manage_id 主动编号 - 在这里没用到,往后扩大用
manage_username 文本 15 办理员用户名
manage_password 文本 15 办理员暗码
-----------------------------------------------------------------
创立manage表后到场一条新纪录,填入你的办理员用户名和暗码,在这里填入的是xmxoxo
表2、 查询拜访表 表名: survey
-----------------------------------------------------------------
字段 类型 长度 申明
-----------------------------------------------------------------
survey_id 主动编号 - 递增、主键、有索引无反复
survey_question 文本 255 查询拜访成绩
survey_type 是不是 - 类型,否:单选 是:多选
survey_stime 日期 - 永日期,入手下手工夫
survey_etime 日期 - 永日期,停止工夫
-----------------------------------------------------------------
表3、查询拜访停止表 表名:survey_vote
-----------------------------------------------------------------
字段 类型 长度 申明
-----------------------------------------------------------------
vote_no 主动编号 - 递增、主键、有索引无反复
vote_id 长整型 - 有索引有反复,小数位0
vote_answer 文本 100 查询拜访谜底
vote_count 长整型 - 投票数
-----------------------------------------------------------------
个中,survey_vote表和survey表的id字段有多对一的关系。其实不必定要创立这个关系,
然而创立关系会使思绪更明白。
3、包括文件
这里所要用到的函数其实不多,次要是对数据库停止操作的,假如要避免输出时的
HTML等代码,直接用server.htmlencode停止处置就能够了,所以不需求一个专门的
函数来处置。咱们可以沿用上一篇《跟我学》系列《跟我学做树型菜单》里的包括文件。
共用函数文件,文件名:inc.asp
<%
'*******************************************************************
'通用数据库ASP函数
'*******************************************************************
'数据库常数
databasename="survey.mdb" '数据库名,假如更名的话,在这里修正就好了
'*******************************************************************
'翻开数据库
sub opendb(connect)
set connect=server.CreateObject("ADODB.connection")
connect.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &_
server.MapPath(databasename)
connect.Open strconn
end sub
'*******************************************************************
'封闭数据库
sub closedb(connect)
connect.close
set connect=nothing
end sub
'*******************************************************************
'翻开单个表读
sub opentable(connect,tbname,myrs)
set myrs=server.createobject("ADODB.recordset")
rssql="select * from " & tbname
myrs.open rssql,connect,1,1
end sub
'*******************************************************************
'封闭一时表
sub closetable(rs)
rs.close
set rs=nothing
end sub
'*******************************************************************
'查询数据库
sub searchtable(connect,sql,rs)
set rs=server.createobject("ADODB.recordset")
rs.open sql,connect,1,1
end sub
'*******************************************************************
'查询并更改数据库
sub changetable(connect,sql,rs)
set rs=server.createobject("ADODB.recordset")
rs.open sql,connect,1,3
end sub
'*******************************************************************
'显示信息 用于调试
Sub w(msg)
response.write msg
end sub
'***************************************************</p>优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件 那么,ASP.Net有哪些改进呢? 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 不能只是将它停留在纸上谈兵的程度上。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。 从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了 兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的 尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 Session:这个存储跟客户端会话过程的数据,默认20分钟失效 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
页:
[1]