DBForm的设计来源以及主要构想

小李看陵川

小李看陵川

2016-01-29 12:48

DBForm的设计来源以及主要构想,DBForm的设计来源以及主要构想
DBForm的设计来源以及主要构想?DBForm的设计思想来源于我最近作的学生信息管理系统的要求,整个信息系统要求的查询信息比较多,而且大多是模糊查找(贷款,奖学金,勤工助学,考试情况,个人情况等等)。以贷款的查询来举例,主要包括了学生学号,姓名,班级,年级,所属学院等个人基本情况和家庭收入状况,所在地区,学习成绩等级等个人信息扩展情况以及贷款类别,贷款时间,贷款金额等贷款方面的具体信息,数据量众多,编写用于查询的sql语句十分麻烦,况且将要完成的模块比较多,每个模块的查询信息却是大体相同,如果每一个模块都单独写查询语句,工作量真得很大?仔细分析了各个模块的功能之后,我们发现模块间查询的界面,主要操作大体相似,所不同的,主要是用于查询的字段和窗体控件名等信息,于是我们开始了整个代码的提炼工作,提出了基本的DBForm构想:根据遍历窗体中的控件组,提取出要查询的数据库字段以及用户输入的数据WinForm窗体中,有一个非常好的Tag属性,可以非常方便的保存我们所需要的数据WebForm窗体中,很遗憾,没有Tag属性,我们就自己继承了类,添加了Tag属性,满足我们DBForm中队数据库子端的添加要求?查询不仅仅包括字段名,还包括具体需要查询的操作(如TextBox控件中的tag属性我们便定义为 数据库字段_操作符,例子:studentID_LIKE,直观,也很形象,并且LIKE操作符可以在运行期间动态更改成为”=”等操作符,实现精确匹配)?整个DBForm的架构中,要求能够有足够的支持弹性,当前的要求是希望能够同时支持好WinForm和WebForm,我们便采用了窗体数据的抓取和数据库相关Sql语句的生成相分离的方法,尽可能的增加整个系统开发的弹性,中间,采用FormInfoEntity类进行窗体数据的封装,传递FormInfoEntity类中主要包含了FormInfoList,JoinInfoList,其中FormInfoList中主要保存了提取出来的数据库字段以及对应得用户输入信息,字段的类型(数值还是字符串),以及操作符号等等。JoinInfoList主要是要查询的表的连接信息。?在整个DBForm的编写中,我发现,整个系统的架构不仅仅使用与查询的情况,在修该,添加,删除的时候,也有很大的用处,只要提取出来了相关窗体的信息,Sql语句的生成是一件很轻松的工作,于是就给DBForm扩展上了修改数据库的功能,整个工作也就是添加了相关的Sql生成类和窗体信息解析类(用于修改的窗体信息和用于查询的窗体信息描述不同)?整个DBForm的构架比较有扩展性,能够满足今后多种数据来源的要求,比如说InfoPath中的xml文件,来自WebService中的相关查询等等。
展开更多 50%)
分享

猜你喜欢

DBForm的设计来源以及主要构想

电脑网络
DBForm的设计来源以及主要构想

装修污染的主要来源及种类

生活常识
装修污染的主要来源及种类

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

主要隆鼻材料的优点以及缺点

硅胶隆鼻的危害
主要隆鼻材料的优点以及缺点

室内空气污染的主要来源

生活常识 养生 健康
室内空气污染的主要来源

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

室内空气污染的主要来源有哪些

生活常识 养生 健康
室内空气污染的主要来源有哪些

《格斗宝贝》无尽之塔介绍 金币绑钻的主要来源

手机游戏
《格斗宝贝》无尽之塔介绍 金币绑钻的主要来源

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Flash高级知识学习:ActionScript扫盲

Flash高级知识学习:ActionScript扫盲

XML简明教程(一)

XML简明教程(一)
下拉加载更多内容 ↓