您的位置:首页 > 编程语言 > VB

OrFlying For VB.NET 使用说明

2006-04-30 00:26 489 查看
说明:OrFlying For VBNET 目前只能根据SQL Server的数据库自动产生代码。

1 登录系统




l 帐号密码为登录SQL数据库的用户名和密码
l 服务器为SQLServer2k的服务器名称或者IP地址
l 数据库为指定的数据库的名称,对大小写敏感。
2 主界面




界面解释:
l 菜单
n 保存配置,系统自动把转换配置保存到本地的XML文件AgileSoftEccConfig.xml
n 保存代码,把自动产生的代码文件保存到选择的目录中。其中关于缓冲类的代码如果为选择为新的VB.NET,则自动生成两个文件,并且保存。如果没有选择需要如上图所示选择现存的两个文件,系统将部分代码自动插入到这两个文件中去。
缓冲集的管理为工程级共享,即在工程内部缓存。刷新的时候需要调用CCacheManage.ReleaseAllCache() 清除缓存。
n 产生代码 根据当前的配置信息产生代码,分别在后面的五个Tab页面中显示。可以手工复制粘贴。
n 退出系统 退出系统
l 对象列表 主要来源于两个源头,以表明成为唯一标示
n 数据库,对于当前XML文件中没有配置信息的对象,读取数据库取出相应的字段信息。
n 配置文件AgileSoftEccConfig.xml 对于已经产生过代码和保存过的配置信息,从XML文件中读取,并且显示。可以进行编辑。
n 注意:数据库的同步功能没有做,也就是说你在变更数据结构后,需要手工保持数据结构和代码转换配置的对应关系。然后在生成代码。
l 代码转换配置
n 对象名称 内部定义的对象名称,唯一标示,如定义为XXX,则将产生CClsXXX CColXXX CEngXXX 等三个文件,并且内部类的名称也如此。
n 对象关键字 本方案默认所有的系统均有关键字,并且为整形类型 bigint 由代码自动维护而不是数据库的自增量。并且表中的关系最好通过本字段关联。
n 关于缓冲剂的代码
u 新建vb.net工程,将产生完整的声明文件:MdlEccCache.cls 和管理文件: CCacheManage.cls
u 不选择,双击文本框选择现有的文件,则把部分缓冲集的代码插入上述两个文件中。
n 对象属性信息 手工维护对象的属性



u 属性类型
l 数据库关联 该属性将自动和数据库中对应的字段数据同步,即读取和写入
l 变量 独立的属性和数据库无关
l 实体 关联的对象实体如下图所示定义一个关联对象:



ü 属性名称和对应字段最好以Cls开头表示为独立的一个对象,例如班级的班主任关联对象 ClsClass.ClsTeacher
ü 数据类型为当前系统中已经产生的基本类类型
ü 关联对象为代码转换配置中定义的对象名称
ü 关联条件:这里填写当前类中关联字段的名称即可 如:Class中有关联Teacher表中的TeacherUID字段,则这里的关联条件写TeacherUID

l 实体集合 如下图:



ü 属性名称和对应字段最好以Col开头表示为独立的一个对象,例如班级的学生关联对象 ClsClass.ColStudents
ü 数据类型为当前系统中已经产生的集合类类型
ü 关联对象为代码转换配置中定义的对象名称
ü 关联条件:注意这里要写的是关联的SQL语句片段,主要是条件如:对于Class类的ColStudents ,如:
u ClassUID=<%ClassUID%> <%ClassUID%>为关联条件,ClassUID为Class类中的ClassUID对应的属性名称,= 号前面的ClassUID为Student表中的关联Class的字段
u ClassUID in (Select ClassUID from Class where grade=’二年级’) 固定条件
u NodeTypeUID in (Select Distinct NodeTypeUID from ADP_SysTreeNode Where TreeUID=<%TreeUID%>)
u ParentLayerName='Root' and TreeUID=<%TreeUID%>

l 基本类代码 产生的基本类代码
l 集合类代码 产生的集合类代码
l 引擎类代码 产生的引擎类代码
l 缓存声明代码 产生的缓存声明代码
l 缓存管理代码 产生的缓存管理代码

3 OrFlying Ecc代码的使用

需要引用AgileSoft.CGlbDll.dll
附录会附上相关的数据处理的部分源代码

l 获取对象:
Dim xClsStudent as CClsStudent
If not CEngStudent. GetClsStudentByKey(xClsStudent, 102) then
‘错误信息
Endif
Msgbox xClsStudent.Name
如果student对象关联了课程集合类CColCase
则可以直接访问:
Dim xCase as CClsCase
For each xCase in xClsStudent.ColCase
Msgbox xCase.name ‘显示课程名称
Next

l 插入对象
Dim xClsStudent as new CClsStudent
xClsStudent.IsNew=true
xClsStudent.Name=’张三’
….属性赋值
If not CEngUpdateStudent(xClsStudent) then
‘错误信息
endif

l 删除对象
Dim xClsStudent as CClsStudent
If not CEngStudent. GetClsStudentByKey (xClsStudent, 102) then
‘错误信息
Endif

xClsStudent.IsDel=true
If not CEngUpdateStudent(xClsStudent) then
‘错误信息
endif
l 修改对象
Dim xClsStudent as CClsStudent
If not CEngStudent. GetClsStudentByKey (xClsStudent, 102) then
‘错误信息
Endif
xClsStudent.Name=’张三123’
xClsStudent.IsDirty=true
If not CEngUpdateStudent(xClsStudent) then
‘错误信息
endif

l 更新集合对象
Dim xColStudent as CColStudent
If not CEngStudent. GetColStudentBySQL(xColStudent) then ‘不传入条件返回所有对象

Endif
‘删除第一个对象
xColStudent(1).IsDel=true
‘修改第二个对象
xColStudent(2).Name=”xxx”
xColStudent(2).IsDirty=true
‘插入新对象
Dim xClsStudent as new CClsStudent
xClsStudent.IsNew=true
xClsStudent.Name=’张三’
xColStudent.Add(xClsStudent)
‘更新数据库
If not CEngStudent.UpdateCol(xColStudent) then

endif
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: