我的"框架"之"数据基础操作" (一)

原创|其它|编辑:郝浩|2009-08-18 10:38:43.000|阅读 415 次

概述:任何一个系统,都会对数据有所操作,最基础的包括查看、新增、修改、删除和保存等。恐怕做数据库管理软件的朋友会说,这不废话嘛!其实简单说起来,无非就是对数据进行insert、update、delete和select操作。我们能不能简化这些操作呢?我下面这篇文章希望能对大家有所帮助。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

1引言

1.1目的

任何一个系统,都会对数据有所操作,最基础的包括查看、新增、修改、删除和保存等。恐怕做数据库管理软件的朋友会说,这不废话嘛!其实简单说起来,无非就是对数据进行insertupdatedeleteselect操作。我们能不能简化这些操作呢?我下面这篇文章希望能对大家有所帮助。

1.2开发环境

采用微软Windows系统列操作系统即可,本人采用的是XP系统

1.3开发工具

Windows环境下,开发工具采用微软的vs2008,数据库采用微软的sql2005

1.4适用范围

部分行业的中小型企业,支持CS结构软件。BS结构很少做过,不是完全支持。

1.5讨论范围

本篇文章讨论的基础操作,若没有特别注明,都是针对列表窗体的,就是批量显示数据的窗体。

2概要设计-数据基础操作-查看

2.1名词解释

2.1.1基础操作

其实就是数据的查看、新增、修改、删除和保存这5个部分,之所以作为名词解释,是因为还有一个“功能操作”,在这里也简单说下,功能操作包括数据的导入、导出、查找、定位、过滤等,功能操作会在下一篇文章中讲解。

2.1.2唯一操作

这个名词可能大家第一次听说,呵呵。这是针对列表窗体,因为列表窗体使用网络控件加载数据的,有很多数据。而唯一操作是指选中的数据(可能是多条,因为删除支持多条同时删除)在某一时刻能且只能有一个操作。例:网格控件中选中某条数据dataA,执行新增add操作,那么用户在选中其他数据时(可能是dataB),是不允许执行其他操作的(也不允许执行新增add操作),必须要等到dataA执行完新增add操作后,才可以对其他数据操作。

唯一操作,只限于使用网格控件执行新增、修改、删除操作,使用单据执行新增等操作是没有此限制的,不过,同一时间,能且只能打开一个单据窗体。

2.2设计方案

2.2.1设计思路

查看操作比较简单,就是查看数据,不允许用户修改数据。一般控件都有readonly属性,直接置为trueOK了。在单据窗体中,会有很多textboxcombobox控件,我们可以需要循环将这些控件的readonly属性置为true或者将enabled属性置为false也行啊。总之就是循环呗。这里有一个小技巧,假设这些主单据的textbox控件等都放在一个groupbox组件中,我们直接将groupbox.enabled=falseOK了,也能达到不可操作的目的,同时还不必循环控件,提高了性能。

这节讨论个思路就可以了。

3概要设计-数据基础操作-新增

3.1名词解释

3.1.1值关系

就是指栏目字段与栏目值之间的关系。包括等于、大于等、小于等于、in关系、between关系等。

3.2设计方案

3.2.1设计思路

新增操作,就是新增一条记录,这里首先要判断一下权限,即当前操作员是否有新增操作。包括对工作组权限、所属角色权限、操作员本身权限。

判断是否有阻止新增操作的其他条件?这个意思是指我在后表专门设计一张表,用于判断有哪些条件阻止新增操作。

这里有两种载体执行新增操作,一种是列表网格控件本身,另一种是弹出单据窗体。若是网格控件,则要首先判断是否有其他数据在执行某种操作,若没有才允许执行新增操作。

紧接着,后续操作包括:

设置栏目字段的必输标记,就是一定要输的,栏目标题的颜色要与一般栏目加以区别,醒目些。如:主键字段。这样在保存时,有必输标记的需要判断下。

设置栏目字段的初始值,不必用户输入。如:是否使用,直接打上标记。

若有的栏目字段采用了编码规则,则需要对这些字段进行赋值。

附加操作:可能某些字段不是用户输入而是计算而得,需要设置其状态为不可用。

这样,一系列步骤下来,我们为用户节省了一些操作

3.2.2界面设计

 


                                                              
-1

 

说明:这是执行一系列操作后的界面样式,仅供参考

3.2.3类图设计

3.2.4程序流程

 

 

 

 

3.2.5数据结构

 


                                                
-3

 

 

栏目初始信息

字段名称

描述

流水号

主键字段,流水号

模块ID

模块ID

DW类型

功能模块的主键字段值

栏目名称

栏目字段名称

是否使用

确定是否使用这条数据

初始值类型

初始值类型,包括静态常量、动态常量和自定义方法获取

栏目初始值

栏目的初始值信息

备注

就是备注

 

栏目必输项

字段名称

描述

流水号

主键字段,流水号

模块ID

模块ID

DW类型

功能模块的主键字段值

栏目名称

栏目字段名称

是否使用

确定是否使用这条数据

是否必输

此字段确定该栏目是否必输。若为1则表示必输

附加设置

预留,可以设置其他属性,暂时没有使用。

备注

就是备注

 

 

栏目状态设置

字段名称

描述

流水号

主键字段,流水号

模块ID

模块ID

DW类型

功能模块的主键字段值

编辑类型

包括新增、修改、删除等类型。此功能加入了对编辑类型的判断

栏目名称

栏目字段名称

是否使用

确定是否使用这条数据

是否显示

确定该栏目是否显示,与权限无关

是否可用

确定该栏目是否可用,与权限无关

单据状态

预留,可以判断单据状态,与权限无关

附加设置

预留,可以设置其他属性,暂时没有使用。

备注

就是备注

 

3.2.6注意事项

4概要设计-数据基础操作-修改

4.1名词解释

4.2设计方案

4.2.1设计思路

修改操作,就是选中一条数据进行修改。与新增操作相似,首先还是要判断当前操作员是否有此权限。

判断是否有阻止修改操作的条件。例:选中的数据中某个栏目字段等于某栏目值,则不允许修改,这个用户是可以自己添加条件的。

判断当前操作员是否是该条数据的操作员,若不是则查看是否对当前操作员授权允许修改,若已授权则允许修改。

判断是否为单据修改还是列表修改,若是列表修改,还需判断其他数据是否在执行某种操作。

上述判断加载完之后,进行真正的修改操作。由于是修改,单据的某些字段是不允许修改的,例:主键字段,一些比较重要的字段值。这些都要根据编辑类型进行状态控制。

4.2.2界面设计

4.2.3类图设计

4.2.4程序流程

 


                                                       
-4

4.2.5数据结构

 


             
-5

 

数据阻止修改操作

字段名称

描述

流水号

主键字段,流水号

模块ID

模块ID

DW类型

功能模块的主键字段值

栏目名称

栏目字段名称

是否使用

确定是否使用这条数据

栏目值类型

栏目字段的类型,如stringint等,映射为net数据类型比较好

值关系

名词解释中已描述,略

栏目值

栏目字段值

描述

阻止条件说明

备注

就是备注

 

栏目状态设置

在前面已描述,略


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:博客园

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP