通用网页查询函数的功能主要是:根据调用者提供的各种参数,在后台数据库管理系统中进行检索,最后将检索结果以二维数组的形式返回给调用者。
为了实现上述功能,实现该函数的主要思想是:根据调用者提供的各种参数,生成对应的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命令的函数、用于调用数据库端存储过程的函数等),大大减轻了在系统开发过程中的工作量,基本实现了代码复用的目的,希望能给从事数据库应用系统的开发者一些有益的启示。
分享到:
相关推荐
总的来说,"JS通用表单验证函数1"是一个实用的工具,能够帮助开发者构建健壮的前端表单验证机制,提升网站或应用程序的质量。结合提供的文件,开发者可以学习到更多关于JavaScript表单验证的技巧和最佳实践,进一步...
【标题】"IDHTTPGET网页通用函数共2页.pdf.zip" 涉及的核心知识点是 Indy 的 IDHTTP 组件在 Delphi 或 C++Builder 等环境下用于网络编程的应用,特别是下载网页内容的功能。IDHTTP 是 Indy(Internet Direct)库的一...
在实际应用中,这个通用ModelWindow函数需要在网站环境中运行,这意味着你需要将其部署到IIS(Internet Information Services)或Tomcat这样的Web服务器上。这是因为模态窗口的实现通常涉及到服务器端和客户端的交互...
【JS通用表单验证函数】是前端开发中用于确保用户输入数据有效性和合规性的一种常见技术。在网页表单提交前,使用JavaScript进行验证可以提高用户体验,减少无效数据提交到服务器,同时减轻后端处理压力。 这个特定...
这个工具类似于Java的javadoc,以网页形式呈现,使得用户可以轻松浏览和搜索C++库中的函数、类和方法。相比Microsoft的MSDN(Microsoft Developer Network),它更强调简洁性和易用性,帮助开发者快速定位到具体的...
运用正则表达式能够精确的抽取某一固定格式的页面,但面对形形色色的HTML,运用规则处置难免捉襟见肘...能不能高效、精确的将一个页面的正文抽取出来,并做到在大范围网页范围内通用,这是一个直接关系上层应用的难题。
这篇博客“linux c 函数查询”可能涉及到了如何在Linux环境下使用C语言编程,并且可能探讨了查询C函数的相关工具和方法。`Linux_C_HS.chm`文件是一个帮助文档,通常包含C语言函数的详细信息,可能是针对Linux环境下...
《深入探索WinAPI与C++函数查询》 WinAPI(Windows API)是微软为Windows操作系统提供的应用程序编程接口,它包含了大量用于控制操作系统、图形界面、网络通信等任务的函数。而C++作为一种强大且通用的编程语言,其...
通用初等函数计算器,在网页上模拟出键盘的风格,程序主要是进行数学运算,不但包括最基本的加减乘除运算,还有平方根、立方根、正弦、余弦运算,以及一些更复杂的数学函数。本计算器运行于PHP环境,更多功能希望与...
在这个“js validator通用函数及实例”压缩包中,很显然包含了一些关于如何使用Validator的通用函数以及具体的示例代码。 首先,`Validator`通常包括一系列验证方法,如`isEmail`用于检查是否为有效的电子邮件地址...
窗体改变通用函数通常是指一个能够处理窗体大小、位置或者状态变化的多功能函数,这样的函数可以提高代码的复用性,减少重复编写相似事件处理代码的工作量。 在Windows编程中,例如使用C#或Visual Basic .NET,我们...
在JavaScript中,我们可以创建一个对象来封装常见的Ajax操作,从而实现一个通用的Ajax函数,减少重复代码,提高代码复用性。下面我们将详细介绍如何定义这样一个通用的Ajax函数。 首先,我们需要创建一个名为`...
"php+excel通用课表查询系统 v3.8.zip"是一个基于PHP编程语言和Microsoft Excel文件格式构建的课程查询系统。这个系统旨在提供一个高效、便捷的方式来管理和查询课程表信息,适用于学校、培训机构或者个人学习计划...
- `algorithm`头文件:包含各种通用算法,如排序、搜索、迭代器操作等。 - `fstream`:文件操作,包括读写文本和二进制文件。 3. **Linux系统调用**: - `open`:打开文件或设备,返回文件描述符。 - `read` 和...
能不能高效、准确的将一个页面的正文抽取出来,并做到在大规模网页范围内通用,这是一个直接关系上层应用的难题。 采用建 DOM 树的方法虽然直观也有效,但建树和搜索是多项式时间,且饱受病态 HTML 的痛苦;采用机器...
【基于行块分布函数的通用网页正文抽取算法】 网页正文抽取是信息检索领域的一个核心问题,它涉及到如何从复杂的HTML文档中准确、高效地提取出主要内容。正则表达式可以处理特定格式的页面,但在处理多样化的HTML时...
在JavaScript开发中,掌握一些常用的函数封装技巧可以显著提高代码的可维护性和效率。这里我们将深入探讨`cookie`操作、`DOM`操作、浏览器前缀处理以及函数节流技术这四个核心主题,这些都是JavaScript开发中不可或...
此函数用于在当前网页中打开一个新的窗口或弹出一个新页面,参数`strUrl`即为新窗口将要加载的URL地址。通过调用`HttpContext.Current.Response.Write`方法,动态生成并执行JavaScript代码,实现窗口的打开。这在...
基于行块分布函数的通用网页正文抽取,C版本项目资源