仓酷云

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

[学习教程] ASP网站制作之两个高效的ASP分页函数

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:05:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;两个高效的ASP分页函数(统计纪录数,分页提取纪录)<%
/*智能前往分页SQL语句*/
///<summary>
///功效:智能前往分页SQL语句
///</summary>
///<paramname="primaryKey">主键(不克不及为空)</param>
///<paramname="queryFields">提取字段(不克不及为空)</param>
///<paramname="tableName">表(实际上同意多表)</param>
///<paramname="condition">前提(能够空)</param>
///<paramname="OrderBy">排序,格局:字段名+""+ASC(能够空)</param>
///<paramname="pageSize">分页数(不克不及为空)</param>
///<paramname="pageIndex">以后页,肇端为:1(不克不及为空)</param>
///<returns></returns>
PublicFunctionGetPageListSql(primaryKey,queryFields,tableName,condition,orderBy,pageSize,pageIndex)
DimstrTmp,SqlSelect,SqlPrimaryKeySelect,strOrderBy,strWhere,strTop,pageindexsize
strTmp=""
//---strTmp用于前往的SQL语句
SqlSelect=""
SqlPrimaryKeySelect=""
strOrderBy=""
strWhere="where1=1"
strTop=""
pageindexsize=0
//0:分页数目
//1:提取字段
//2:表
//3:前提
//4:主键不存在的纪录
//5:排序
SqlSelect="selecttop{0}{1}from{2}{3}{4}{5}"
//0:主键
//1:TOP数目,为分页数*(排序号-1)
//2:表
//3:前提
//4:排序
SqlPrimaryKeySelect="and{0}notin(select{1}{0}from{2}{3}{4})"
iforderBy""then
strOrderBy="orderby"&orderBy
Endif
ifcondition""then
strWhere=strWhere&"and"&condition
pageindexsize=(pageIndex-1)*pageSize
Endif
ifcint(pageindexsize)>0then

strTop="top"&pageindexsize
SqlPrimaryKeySelect=Replace(Replace(Replace(Replace(Replace(SqlPrimaryKeySelect,"{0}",primaryKey),"{1}",strTop),"{2}",tableName),"{3}",strWhere),"{4}",strOrderBy)
strTmp=Replace(Replace(Replace(Replace(Replace(Replace(SqlSelect,"{0}",pageSize),"{1}",queryFields),"{2}",tableName),"{3}",strWhere),"{4}",SqlPrimaryKeySelect),"{5}",strOrderBy)

else
strTmp=Replace(Replace(Replace(Replace(Replace(Replace(SqlSelect,"{0}",pageSize),"{1}",queryFields),"{2}",tableName),"{3}",strWhere),"{4}",""),"{5}",strOrderBy)

Endif
GetPageListSql=strTmp

EndFunction
/*分页查询数据纪录总数猎取*/
///<summary>
///功效:分页查询数据纪录总数猎取
///</summary>
///<paramname="ptbName">----要显现的表或多个表的毗连</param>
///<paramname="pID">----主表的主键</param>
///<paramname="pstrCondition">----查询前提,不需where</param>
///<paramname="pDist">----是不是增加查询字段的DISTINCT默许0不增加/1增加</param>
///<returns></returns>
PublicFunctionGetPageListCounts(pID,ptbName,pstrCondition,pDist)
//---寄存获得查询了局总数的查询语句
//---对含有DISTINCT的查询举行SQL机关
//---对含有DISTINCT的总数查询举行SQL机关
DimstrTmp,SqlSelect,SqlCounts
strTmp=""
SqlSelect=""
SqlCounts=""
ifCInt(pDist)=0then

SqlSelect="Select"
SqlCounts="COUNT(*)"

else

SqlSelect="SelectDISTINCT"
SqlCounts="COUNT(DISTINCT"&pID&")"
Endif
ifpstrCondition=""then

strTmp=SqlSelect&""&SqlCounts&"FROM"&ptbName&""

else

strTmp=SqlSelect&""&SqlCounts&"FROM"&ptbName&"Where(1=1)and"&pstrCondition
EndIf

GetPageListCounts=strTmp
EndFunction
%>
ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。
分手快乐 该用户已被删除
沙发
发表于 2015-1-18 20:12:40 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
不帅 该用户已被删除
板凳
发表于 2015-1-27 19:43:49 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
简单生活 该用户已被删除
地板
发表于 2015-2-5 15:02:50 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
精灵巫婆 该用户已被删除
5#
发表于 2015-2-12 10:30:54 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
海妖 该用户已被删除
6#
发表于 2015-3-3 03:15:03 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
金色的骷髅 该用户已被删除
7#
 楼主| 发表于 2015-3-11 09:33:25 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
乐观 该用户已被删除
8#
发表于 2015-3-18 07:37:10 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
愤怒的大鸟 该用户已被删除
9#
发表于 2015-3-25 16:20:52 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 07:10

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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