victor_zong

注:本文属原创,一切权利归作者所有,转载请注明

其他语言如java、.net中都有大量的开源orm系统。所谓orm中文名对象关系映射系统,主要目的将数据库中的表映射为面向对象中的类。基于此中间件的程序开发,只需要专注与数据库设计、程序业务处理,不需要频繁的与访问数据库的代码打交道,大大提高了软件开发的效率。

vb由于先天性的语言劣势,设计其上的orm一直比较困难,但并非不可能。各企业中也存在不少的商业性质的orm系统

本文介绍一种简单的设计方法VictorORMforVB设计方法,在vb中实现orm系统的功能。
本文将vb程序分为4层:数据层(数据库)、数据访问层(访问数据库的代码)、业务层(业务逻辑处理)、界面层(窗体设计)。VictorORMforVB主要设计出统一的数据访问层。
VictorORMforVB设计的原则:
(1)各个表对应的类代码自动生成可以很容易的实现;
(2)业务层对数据访问层的调用方式简单,尽量统一;
(3)设计出的数据访问层能实现常见的访问数据库功能:增删改查、事务操作。

每个数据库对应的类暴露的公有属性和公有方法有:
数据库中的各个字段作为类的属性
每个类提供的Add,Update,Delete,Query方法。
事务类(Transaction)暴露的公有方法有:
事务类提供的:begin,commit,cancel三个方法。

在VictorORMforVB基础上的vb程序设计,实现对数据库的操作异常简单。下面举例说明,假设有一个仪器表,其中有20多个字段。
对这个表,依据VictorORMforVB设计一个Yiqi类
实际的调用中向仪器表插入记录如此:

Dim yiqi As New yiqi
yiqi.yiqihaoma.value 
= 
yiqi.
=

yiqi.Add
Set yiqi 
= Nothing

 

对于设计到事务操作的代码如此:

dim trans as new Transaction
Dim yiqi As New yiqi
dim zhuangtai as 
new zhuangtai
yiqi.yiqihaoma.value 
= 
yiqi.
=

zhuangtai.
=.

trans.begin
yiqi.Add
zhuangtai.Update
if err.num<>0 then
   trans.cancel
else
   trans.commit
end 
if
set zhuangtai
=nothing
Set yiqi 
= Nothing
set trans
=nothing


未完待续。。。

续:
今天我写了一个自动生成的程序。

这个程序是针对Sql Server数据库的,只要你已经建好了表,使用这个工具可以自动生成符合VictorORMforVB格式的程序,也可以说这个工具可以帮助你自动生成数据访问层。

晕啊 附件太大 上传不上去啊

先放我ftp上几天,谁需要可以下载,几天内有

ftp://cndevx:victor@202.194.196.183

分类:

技术点:

相关文章: