小魔女 发表于 2015-1-16 22:59:17

ASP教程之ASP与ADO在Web数据库查询中的使用

结论:和PHP一样,ASP简单而易于维护,很适合小型网站应用,通过DCOM和MTS技术,ASP甚至还可以完成小规模的企业应用,但ASP的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。ado|web|数据|数据库----*具体实现

----查询主页面为港澳证件信息查询,对应程序为gacx.as
p,查询结果以两种方式显示,一种是显示主要信息-港
澳证件信息查询结果列表,对应程序为gacxlb.asp,一种是
显示全部信息-港澳证件信息查询结果,对应程序为gacx
xq.asp,如果查询条件不能满足时,还将显示一个提示页
面,告诉用户不存在满足条件的结果,这由程序gacxts.as
p完成。

----首先根据客户提供的数据库和要求查询的各项建立
查询、查询结果、查询结果列表页面,还要给出一个简
单的提示界面,告诉用户不存在满足条件的结果,请重
新查询,这些工作可以用FrontPage98完成,整个页面应该
做到简洁年夜方,主题鲜明。程序代码在MicrosoftVisualInter
Dev下编写。

----下面处理编码数据库zd.dbf中的内容。从下图中可以
看到有很多带下拉框的选项例如"性别"、"出生地"等,这
些选项的内容都是从zd.dbf数据库中提取出来的,这正是
本程序数据库处理过程中的一个闪光点(这一部分是由
陶则平易近工程师设计并实现的),因为有的选项内容很多
,例如出境口岸有101项之多,你虽然也可以用<select><
option>...</option></select>格式在HTML页面中把各个选项
列举出来,但那将给程序的维护带来很年夜麻烦,一旦编
码数据库的内容有变动,程序也将不得不作很多修改,
而且带下拉框的选项都是在zd.dbf中编码了的,往主数据
库中输进数据时这些选项都只输进编码,但显示时却不
能显示编码,必须把编码对应的汉字显示出来。这段程
序代码如下(以性别为例):

<%
SetConn=Server.CreatObject("ADODB.Connection")
Conn.Open"GACX"
SetRS=Conn.Execute("SelectBC,
MCFromzdWhereBCLike"se%"")
Response.Write"<SELECTSIZE=1NAME="SEX">"
DoWhileNotRS.EOF
response.write"<option
value="RS(0)">"&RS(1)
Rs.MoveNext
Loop
Response.Write"</SELECT>"
RS.Colse
Conn.Colse
%>
----其中,zd.dbf包含两个字段MC、BC,MC表示待编码项,如
男、女,BC表示编码,如性别编码的前两位为"se",男用"se
1"表示,女用"se2"表示。

----  数据库查询中最重要的是如何取得查询条件。
本例中要查询的项可以分为两类:一类是输进的text类型
的查询条件,另一类是从下拉框中选出来的项,在处理
时就要区分对待,text类型的查询条件很好处理,例如姓
名,我给输进的内容命名为"xm",如果输进的查询项不为
空时就增加一个查询条件"NAME=Request.Form("xm")"即可;下
拉框的处理要复杂得多,当下拉框选中一项时,例如性
别选中男,下拉框中输进的是"se1",(但反映在数据库中
时为"SEX=1",因为数据库中输进字典中带编码的项时只
输进编码),就是要查询"SEX=se1"的项,处理时要把"se1"中
的"1"提取出来,这里只须用到一个函数mid即可,查询条
件为"SEX=mid("se1",3,1)",即从数据库中查找SEX=1的项,并
把所有满足条件的项不重复地列举出来。

----查询结果的显示就很容易了,只须把查询结果的每
条记录按列表的方式显示出来即可,注意在显示查询结
果时要显示编码对应的汉字,就是到字典中往找编码为
"se"&"1"的项所对应的编码值,程序如下:

<tableborder="1"width="95%"
bordercolor="#C0C0C0"cellspacing="0"cellpadding="0"
bordercolorlight="#C0C0C0"
bordercolordark="#C0C0C0"height="60">
 <tr>
  <tdwidth="9%"align="center"
height="1"><palign="center">
姓名</td>
  <tdwidth="12%"align="center"
height="1">档案号</td>
  <tdwidth="6%"height="1">
<palign="center">性别</td>
  ......
 </tr>
  <%i=1%>
  <%WhileNotRS.EOF%>
  <tr>
   <tdwidth="9%"align="center"
height="1"><%=RS("name")%></td>
   <tdwidth="12%"align="center"
height="1"><%=RS("dang")%></td>
   <tdwidth="6%"height="1"><%=Func
("se"&RS("sex"),GACX)%></td>
    ......
   </tr>
   <%RS.MoveNext%>
   <%i=i+1%>
  <%WEnd%>
  </table>
----其中,Func("se"&RS("sex"),GACX)是个函数,实现从数据
源中取得编码所对应的汉字的功能。
</p>专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。

仓酷云 发表于 2015-1-20 07:13:12

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

不帅 发表于 2015-1-28 23:13:47

运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。

冷月葬花魂 发表于 2015-2-2 21:51:10

Session:这个存储跟客户端会话过程的数据,默认20分钟失效

兰色精灵 发表于 2015-2-8 07:41:59

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

小女巫 发表于 2015-2-25 00:18:47

交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。

海妖 发表于 2015-3-15 07:38:21

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

愤怒的大鸟 发表于 2015-3-21 21:21:26

我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
页: [1]
查看完整版本: ASP教程之ASP与ADO在Web数据库查询中的使用