通用网页查询函数的设计与应用--免费毕业论文、毕业论文范文、毕业论文格式、毕业论文提纲,毕业论文网,提供计算机应用论文,计算机论文,工学论文毕业论文提纲、毕业论文范文、毕业论文格式等.
喜欢WitkeyCity.Com,请把WitkeyCity.Com告诉你QQ上的5位好友,多谢支持!
网站地图
合作联系
收藏本站

首 页 经济学论文 财政税收 证券金融 管理学论文 会计审计 工商管理 财务管理 公共管理 法学论文 理学论文 医药学论文
政治论文 社会学论文 文学论文 教育类论文 工学论文 计算机论文 艺术类论文 哲学论文 文化论文 英语论文 应用文 论文写作指导
邮电通信

   
 ·推荐免费论文
·2007县委办公室先进性教育活动工
·用科学发展观统领农业和农村经济
·计算机实习报告范文
·调查报告:大学生眼中的电子商务
·当前农村初中生学习心理的调查报
·求职信的格式和写作要点 
·英文简历写作的注意事项 
·毕业论文写作的基本要求
·计算机软件许可证协议书
 ·最近更新论文
·在电子商务中如何正确的使用数据
·大型ORACLE数据库优化设计方案
·在VB6.0数据库程序开发中使用ADO
·浅谈VFP报表打印问题
·通用网页查询函数的设计与应用
·构建校园网页面电子邮件系统
·Delphi中画布应用两则
·利用RCM2200实现以太网与异步串口
·Oracle数据库的优化
 ·推荐链接
   当前位置:首页 > 计算机论文 > 计算机应用 > 论文正文
联系我们 客户反馈

通用网页查询函数的设计与应用

来源:  [ 2007-3-8 22:26:30 ]  作者:佚名  编辑:
收藏到VIVI | 收藏到365KEY | 收藏到YOUNOTE | 收藏到博采| 收藏到天极网摘 | 收藏到和讯网摘

摘要:本文首先介绍了通用网页查询函数的设计思想,并给出了全部源代码及其应用。

关键词:数据库  WWW  Internet  ASP  计算机网络

1.      引言
随着人们对信息化潮流的逐渐认识,各种信息在Internet上的发布和检索就变得非常的重要。特别是使用B/S模式的信息发布和检索,由于它的简单性、灵活性,越来越得到了广泛的应用。现在,经常被人们采用的B/S模式的开发工具有ASP、PHP、JSP等,这些开发工具简单易学、功能强大,为各种信息在Internet上的发布和检索提供了强有力的帮助。但是,随着信息量的逐渐爆炸,如果仍然采用针对特定发布信息设计专用程序的传统办法的话,显然将导致信息发布的效率非常地低。
为此,笔者研究了一种通用信息发布与检索的技术方案,使用这套方案,将极大地减轻开发者的工作量,节约成本。本文介绍的便是这套技术方案中的一个非常重要的组成部分——基于ASP的通用网页查询函数的设计与应用。

2.      通用网页查询函数的设计
通用网页查询函数的功能主要是:根据调用者提供的各种参数,在后台数据库管理系统中进行检索,最后将检索结果以二维数组的形式返回给调用者。
为了实现上述功能,实现该函数的主要思想是:根据调用者提供的各种参数,生成对应的SQL语句,接下来与后台数据库管理系统建立连接、提取数据、断开连接,最后将检索结果以二维数组的形式返回给调用者。
该函数的输入参数有:后台数据库管理系统的代号(如0代表SQLServer、1代表VFP等)、数据源名、表名(可以是单表,也可以是多表连接)或视图名、all/distinct关键字、top关键字、字段名数组、where条件、group by子句/order by字句、检索结果存放的二维数组名等。
该函数的返回值为逻辑型,True代表查询过程中未出现错误,否则,若为False说明查询过程中出现了错误。
下面给出经调试过的通用网页查询函数的源代码。
function data_getting(param_database_code,param_dsn_name,param_table_name,
param_all,param_top,param_field_names(),ByRef data(),param_condition,
param_other,ByRef rcount,ByRef fcount,ByRef fieldsname())     

on error resume next

   '生成查询语句
   if param_all=true then     
      query="select "
   else
      query="select distinct "
   end if
   query=query+param_top+" "
   if param_field_names(0)="*" then   '查询全部字段
      query=query+" * "
   else
      d_g_i=0
      fcount=0
      for each item in param_field_names
         if param_field_names(d_g_i)<>"" then
            query=query+param_field_names(d_g_i)+","
            fcount=fcount+1            '记录集列数
         end if
         d_g_i=d_g_i+1
      next
   end if
   query=left(query,len(query)-1)+" from "+param_table_name   '去掉最后一个逗号(全部字段:去掉空格)
   if len(param_condition)>0 then
      query=query+" where "+param_condition
   end if
   if len(param_other)>0 then
      query=query+" "+param_other
   end if
 
   '打开记录集
   set conntemp=server.createobject("ADODB.Connection")            
   conntemp.ConnectionString=param_dsn_name     
   conntemp.Open     
   conntemp.errors.clear     
   Set rstemp=Server.CreateObject("ADODB.Recordset")     
   rstemp.ActiveConnection=conntemp
   if param_database_code=0 then      ‘代表后台数据库是SQLSERVER
      rstemp.CursorType=3
      rstemp.LockType=1
   else if param_database_code=1 then   ‘代表后台数据库是VFP
      rstemp.CursorType=1
      rstemp.LockType=1
   else
      …                       ‘代表后台数据库是其它数据库管理系统(代码略)
   end if  
   rstemp.Source=query     
   rstemp.open     
 
   ‘判断查询过程中是否出现错误
   if conntemp.errors.count>0 then     
      data_getting=false
      rcount=0  
   else
      ‘如果查询过程中未出现错误,将查询结果存放到指定的二维数组中
      rcount=rstemp.recordcount        '记录集行数
      if rcount=0 then
         data_getting=true
      else
         data_getting=true
         if param_field_names(0)="*" then   '查询全部字段
            fcount=rstemp.fields.count
         end if
         ReDim data(rcount-1,fcount-1),fieldsname(fcount-1)
         for d_g_i=1 to rcount
            for d_g_j=1 to fcount
               data(d_g_i-1,d_g_j-1)=trim(rstemp.fields(d_g_j-1).value)
               if d_g_i=1 then
                  fieldsname(d_g_j-1)=rstemp.fields(d_g_j-1).name
               end if  
            next
            rstemp.movenext
         next
      end if
   end if        
   rstemp.close     
   set rstemp=nothing     
   conntemp.close     
   set conntemp=nothing  
end function

3.      通用网页查询函数的应用
在笔者参与的各类基于Web的数据库应用系统的开发过程中,全部使用了前文给出的通用网页查询函数。利用<!-- #include file="data_getting.inc" -->语句(通用网页查询函数被保存为一个独立的文件data_getting.inc),在需要进行数据查询的网页中,嵌入该函数,然后在ASP页面只需调用该函数,就能得到希望得到的查询结果,从而大大减轻了编程的工作量,并便于ASP页面的简化和美化。

4.      结束语
本文给出的通用网页查询函数,以及笔者开发的其它的一些通用函数(用于执行一系列SQL命令的函数、用于调用数据库端存储过程的函数等),大大减轻了在系统开发过程中的工作量,基本实现了代码复用的目的,希望能给从事数据库应用系统的开发者一些有益的启示。

本论文共2页,当前在第1页  1  2  

论文首页】【设为主页】【字体: 加入收藏】【打印本文】【回到顶部
 
上篇文章: 构建校园网页面电子邮件系统  下篇文章: 浅谈VFP报表打印问题
网站首页 - 友情链接 - 网站地图 - 加入收藏

声明:中国论文网毕业论文资料来源于网络,如有侵犯您的权益,请立即告知,我们将删除!
联系方式: E-mail:Laozhanga@QQ.COM QQ:75931341
喜欢WitkeyCity.Com,请把WitkeyCity.Com告诉你QQ上的5位好友,多谢支持!
冀ICP备07000828号