欢迎来到天天文库
浏览记录
ID:19107595
大小:16.61 KB
页数:7页
时间:2018-09-28
《通用网页查询函数的设计与应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、通用网页查询函数的设计与应用摘要:本文首先介绍了通用网页查询函数的设计思想,并给出了全部源代码及其应用。关键词:数据库WWWInternetASP计算机网络1.引言随着人们对信息化潮流的逐渐认识,各种信息在Internet上的发布和检索就变得非常的重要。特别是使用B/S模式的信息发布和检索,由于它的简单性、灵活性,越来越得到了广泛的应用。现在,经常被人们采用的B/S模式的开发工具有ASP、PHP、JSP等,这些开发工具简单易学、功能强大,为各种信息在Internet上的发布和检索提供了强有力的帮助。但是,随着
2、信息量的逐渐爆炸,如果仍然采用针对特定发布信息设计专用程序的传统办法的话,显然将导致信息发布的效率非常地低。为此,笔者研究了一种通用信息发布与检索的技术方案,使用这套方案,将极大地减轻开发者的工作量,节约成本。本文介绍的便是这套技术方案中的一个非常重要的组成部分——基于ASP的。.通用网页查询函数的设计通用网页查询函数的功能主要是:根据调用者提供的各种参数,在后台数据库管理系统中进行检索,最后将检索结果以二维数组的形式返回给调用者。为了实现上述功能,实现该函数的主要思想是:根据调用者提供的各种参数,生成对应的
3、SQL语句,接下来与后台数据库管理系统建立连接、提取数据、断开连接,最后将检索结果以二维数组的形式返回给调用者。该函数的输入参数有:后台数据库管理系统的代号(如0代表SQLServer、1代表VFP等)、数据源名、表名(可以是单表,也可以是多表连接)或视图名、all/distinct关键字、top关键字、字段名数组、where条件、groupby子句/orderby字句、检索结果存放的二维数组名等。该函数的返回值为逻辑型,True代表查询过程中未出现错误,否则,若为False说明查询过程中出现了错误。下面给出
4、经调试过的通用网页查询函数的源代码。functiondata_getting(param_database_code,param_dsn_name,param_table_name,param_all,param_top,param_field_names(),ByRefdata(),param_condition,param_other,ByRefrcount,ByReffcount,ByReffieldsname())onerrorresumenext'生成查询语句ifparam_all=truethen
5、query="select"elsequery="selectdistinct"endifquery=query+param_top+""ifparam_field_names(0)="*"then'查询全部字段query=query+"*"elsed_g_i=0fcount=0foreachiteminparam_field_namesifparam_field_names(d_g_i)""thenquery=query+param_field_names(d_g_i)+","fcount=fcount+1
6、'记录集列数endifd_g_i=d_g_i+1nextendifquery=left(query,len(query)-1)+"from"+param_table_name'去掉最后一个逗号(全部字段:去掉空格)iflen(param_condition)>0thenquery=query+"where"+param_conditionendififlen(param_other)>0thenquery=query+""+param_otherendif'打开记录集setconntemp=("")=para
7、m_dsn_nameSetrstemp=("")=conntempifparam_database_code=0then‘代表后台数据库是SQLSERVER=3=1elseifparam_database_code=1then‘代表后台数据库是VFP=1=1else…‘代表后台数据库是其它数据库管理系统(代码略)endif=query‘判断查询过程中是否出现错误if>0thendata_getting=falsercount=0else‘如果查询过程中未出现错误,将查询结果存放到指定的二维数组中rcount=
8、'记录集行数ifrcount=0thendata_getting=trueelsedata_getting=trueifparam_field_names(0)="*"then'查询全部字段fcount=endifReDimdata(rcount-1,fcount-1),fieldsname(fcount-1)ford_g_i=1torcountford_g_j=1tofcountdata(d_g_
此文档下载收益归作者所有