你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:文章管理 / 本期精品文章
用存储过程进行数据库和程序分离的全动态查询
 
  1. 前言

在数据库应用程序的开发中,提供给用户功能多样的动态查询一直是一件不容易的事情。许多应用程序,要么只是提供了一些简单基本的查询,其中查询的结构和方式都是固定的,只是每次用户输入不同的参数,如QQ的查找好友;要么提供了类似于SQL语言生成器的复杂过程,如一些文献检索的网页的高级选项;这些实现的方式都有自己的长处和不足。第一种方法程序设计简单,使用容易,但功能有限。第二种方法功能强大,但操作复杂,大多数用户不容易、也不愿意使用,其功能也就没有达到预想的目的。
本文根据应用程序插件的思想,提出了一种利用存储过程执行动态查询的新方法,能够实现二者长处,并避免各自的缺点。

  1. 基本原理

首先,在数据库中多建立两个表,表的名称分别为AppProc和AppParam。AppProc用于存储供外部调用的存储过程的基本信息,AppParam用于存储AppProc中存储过程的参数信息。二者的结构设计如表1 表2所示。
表1AppProc


字段名称

类型

说明

ProcID

Bigint

主键 (自动增加的GUID)

ProcName

Varchar(50)

存储过程的名称
数据库中要有该存储过程的实现

DispName

Varchar(50)

外部应用程序调用时显示给用户的名称

HasRet

Bite

该存储过程是否返回结果
0不返回 1 返回

表2AppParam


字段名称

类型

说明

ParamID

bigint

主键 (自动增加的GUID)

ProcID

int

外键 指向标AppProc

ParamName

Varchar(50)

参数名称

DispName

Varchar(50)

该参数显示给用户时所显示的文字

这样就建好了供外部调用的两个表。数据库开发人员可以随时开发用户需要的实现某些查询功能的存储过程,测试后,只要按上述两个表内容填写即可。其中关键的是AppProc .ProcName和AppParam中同一个ProcID的不同ParamID行的个数(下面将会看到),当应用程序的查询模块启动时,将这两表的内容读取到指定的显示方式上。经过代码的维护保证,就可以实现类似于插方式的查询操作。这样数据库开发人员可以根据用户查询需要的变化添加、删除、修改存储过程供应用程序调用,再由应用程序友好显示处理后提供给用户。

 

......................................(作者:于海滨? 邓小娣)

  推荐精品文章

·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 
·2023年7月目录
·2023年6月目录 
·2023年5月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089