仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 803|回复: 6
打印 上一主题 下一主题

[学习教程] ASP教程之ASP使用中数据库纪录的拔取与过滤

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:45:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
ASP脚本是采用明文(plaintext)方式来编写的。数据|数据库1、申明
年夜多半终极用户都请求他们的Web计划可以供应某种报表才能。利用HTML和ASP,能够很简单地供应在表格中列出纪录和逐条扫瞄它们的才能。但用户常常请求可以经由过程下拉列表框(或别的选择体例)选择某一种别的纪录,大概说,他们但愿可以利用某种“查询界面”来创建和实行查询,而不用间接利用SQL。本文演示使用ASP手艺创建可选择的纪录过滤界面的一种办法。固然这里会商的办理办法相称复杂,但利用相似的手艺能够在任何Web页面供应庞大的查询才能。
在为任何一个办理办法编码之前,都应当充实了解并纪录终极用户的需求。关于本例来讲,用户请求可以用指定种别名字的办法猎取指定表的一组纪录,他既能够选择一切的种别也能够选择某个特定的种别。为完成这个功效,我们利用一个“递回的”ASP页面,它所供应的选择表单中包括了来自数据库的种别列表,依据表单所发送的数据提取了局纪录集,了局纪录将以表格的情势显现以便利用户观察。

2、机关过滤前提
关于这类数据库使用,起首应当懂得所触及的数据库表布局和毗连数据库体系所必需的毗连参数。毗连参数的指定办法在Microsoft的ASP联机文档中有很具体的申明,本文不再赘述。本例要用到的两个表为:Document_Category,它包括供用户选择的独一的种别名字Category_Name;Documents,它包括对应于种别名字的别的数据,字段包含Category_Name、File_Name、Comments、Date_Submitted等。
选择表单中的种别列表来自于种别表Document_Category的Category_Name字段,机关种别下拉列表框的代码以下,请注重这里要用到VBScriptADO包括文件:


 <!--#Includefile="ADOVBS.INC"-->
 <%
 ConnString="DSN=LocalUpload;"
 Setconn=Server.CreateObject("ADODB.Connection")
 conn.OpenConnString,,,adOpenForwardOnly
 Setrs=SERVER.CreateObject("ADODB.Recordset")
 起首猎取用来添补下拉列表框的种别纪录
 设置SQL语句
 strSQL="SELECT*FROMDocument_CategoryORDERBYcategory_name"
 
 rs.OpenstrSQL,conn,adOpenStatic
 %>
 
 <FORMname="formCategory">
 
 <SELECTNAME="qryCategory"
>
 <OPTIONselected>请选择一个种别:
 <%DoWhileNotrs.EOF
 Response.Write("<OPTIONvalue="&rs("Category_Name")&">"_
&rs("Category_Name"))
 rs.MoveNext
 Loop
 rs.Close
 Setrs=Nothing
 %>
 </OPTION>
 </SELECT><BR>
 </FORM>

SELECT标志中的OnChange用来提交HTML表单。当下拉列表框的值改动,JavaScript函数getFilter就会实行。利用相似的办法,能够将数据库表的纪录用多个分歧表单位从来形貌(如第二个下拉列表框,单选按钮或复选框等等)。用户所选择的种别值将用来机关从数据库提取纪录的SQLSELECT语句。

3、提交表单
这里我们要用到两个JavaScript函数来完成表单信息提交义务。getFilter函数用来将用户选择的种别值提交给页面自己,而getListValue函数则用来猎取用户所选择的种别值。选用JavaScript完成这两个函数使得剧本可以在分歧的扫瞄器上运转:
 <SCRIPTlanguage="JavaScript">
 functiongetFilter(listitem){
 varobject="";
 varlistValue=getListValue(listitem);
 document.formCategory.submit(listValue);
 }
 functiongetListValue(list){
 varlistValue="";
 if(list.selectedIndex!=-1){
 listValue=list.options[list.selectedIndex].value;
 }
 return(listValue);
 }
 </SCRIPT>

4、显现了局
  最初要做的就是机关查询并显现查询了局了。起首,查询的机关依附于用户鄙人拉列表框中所选择的种别名字,这个查询只需一个复杂的SQLSELECT语句,在WHERE子句中指定用户所选择的种别便可。机关好查询以后就能够实行它了,假如没有切合请求的纪录,则向用户显现一个提醒信息;不然就显现这些纪录。上面是完成上述义务的VBSCript代码:
 <%
 IfRequest.QueryString("qryCategory")=""Then
 Response.Write("请从列表当选择一个种别.")
 Else
 机关查询
 Setrs=SERVER.CreateObject("ADODB.Recordset")
 设置SQL语句
 strSQL="SELECTDocuments.File_Name,Documents.Comments,"
strSQL=strSQL&"Documents.Date_Submitted"
 strSQL=strSQL&"FROMDocuments"
 strSQL=strSQL&"WHERE((Documents.Category_Name)="_&
Request.QueryString("qryCategory")&")"
 
 翻开Recordset工具
 rs.OpenstrSQL,conn,adOpenStatic
 
 Ifrs.RecordCount=0Then
 Response.Write("没有发明指定种别的纪录"_&
Request.QueryString("qryCategory"))
 Else
 Response.Write("<H3>给定种别含以下纪录:"_&
Request.QueryString("qryCategory")&"</H3>")
 
 在表格中显现查询了局
 Response.Write("<TABLECELLSPACING=2COLS=3WIDTH=500>")
 Response.Write("<TR>")
 Response.Write("<TDALIGN=CENTERVALIGN=TOPWIDTH=20%")
 Response.Write("BGCOLOR=#C8C8FF><B>称号</B></TD>")
 Response.Write("<TDALIGN=CENTERVALIGN=TOPWIDTH=65%")
 Response.Write("BGCOLOR=#C8C8FF><B>申明</B></TD>")
 Response.Write("<TDALIGN=CENTERVALIGN=TOPWIDTH=15%")
 Response.Write("BGCOLOR=#C8C8FF><B>日期</B></TD>")
 Response.Write("</TR>")
 
 DoWhileNotrs.EOF
 Response.Write("<TR>")
 Response.Write("<TD>"&rs("File_Name")&"</TD>")
 Response.Write("<TD>"&rs("Comments")&"</TD>")
 Response.Write("<TD>"&rs("Date_Submitted")&"</TD>")
 Response.Write("</TR>")
 rs.MoveNext
 Loop
 rs.Close
 Response.Write("</TABLE>")
 EndIf
 
 EndIf
 Setrs=Nothing
 conn.Close
 Setconn=Nothing
 %>

  固然本例中我们只用到了一个复杂的带WHERE子句的SQLSELECT,但用相似的办法能够机关出庞大的界面和查询,只需响应地增添用来指定前提的表单位素和依据用户选择了局机关符合SQL语句的剧本便可。

5、小结
ASP手艺为终极用户所请求的分歧数据查询界面供应了一个可伸缩的开辟情况。综合地使用剧本与HTML能够为观察和阐释数据机关出天真的界面,这些工具为依照用户需求过滤数据供应了一个复杂但高效的办法。</p>在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。
山那边是海 该用户已被删除
沙发
发表于 2015-1-19 06:29:44 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
小女巫 该用户已被删除
板凳
发表于 2015-1-24 09:59:48 | 只看该作者
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
不帅 该用户已被删除
地板
发表于 2015-1-31 23:49:28 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
活着的死人 该用户已被删除
5#
发表于 2015-2-7 01:17:55 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
谁可相欹 该用户已被删除
6#
发表于 2015-2-19 07:30:56 | 只看该作者
掌握asp的特性而且一定要知道为什么。
柔情似水 该用户已被删除
7#
发表于 2015-3-13 01:09:30 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 00:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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