`
arfayr
  • 浏览: 26043 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

OrFlying For VB.NET 使用说明

阅读更多

说明:OrFlying For VBNET 目前只能根据SQL Server的数据库自动产生代码。

 

1登录系统

<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 219.75pt; HEIGHT: 166.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image001.png"></imagedata></shape>

l帐号密码为登录SQL数据库的用户名和密码

l服务器为SQLServer2k的服务器名称或者IP地址

l数据库为指定的数据库的名称,对大小写敏感。

2主界面

<shape id="_x0000_i1026" style="WIDTH: 414.75pt; HEIGHT: 311.25pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image003.png"><font size="3"></font></imagedata></shape>

界面解释:

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对象属性信息手工维护对象的属性

<shape id="_x0000_i1027" style="WIDTH: 230.25pt; HEIGHT: 195pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image005.png"><font size="3"></font></imagedata></shape>

u属性类型

l数据库关联该属性将自动和数据库中对应的字段数据同步,即读取和写入

l变量独立的属性和数据库无关

l实体关联的对象实体如下图所示定义一个关联对象:

<shape id="_x0000_i1028" style="WIDTH: 228.75pt; HEIGHT: 193.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image007.png"><font size="3"></font></imagedata></shape>

ü属性名称和对应字段最好以Cls开头表示为独立的一个对象,例如班级的班主任关联对象ClsClass.ClsTeacher

ü数据类型为当前系统中已经产生的基本类类型

ü关联对象为代码转换配置中定义的对象名称

ü关联条件:这里填写当前类中关联字段的名称即可如:Class中有关联Teacher表中的TeacherUID字段,则这里的关联条件写TeacherUID

 

l实体集合如下图:

<shape id="_x0000_i1029" style="WIDTH: 228.75pt; HEIGHT: 193.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image009.png"><font size="3"></font></imagedata></shape>

ü属性名称和对应字段最好以Col开头表示为独立的一个对象,例如班级的学生关联对象ClsClass.ColStudents

ü数据类型为当前系统中已经产生的集合类类型

ü关联对象为代码转换配置中定义的对象名称

ü关联条件:注意这里要写的是关联的SQL语句片段,主要是条件如:对于Class类的ColStudents ,如:

uClassUID=<%ClassUID%> <%ClassUID%>为关联条件,ClassUIDClass类中的ClassUID对应的属性名称,= 号前面的ClassUIDStudent表中的关联Class的字段

uClassUID in (Select ClassUID from Class where grade=’二年级’) 固定条件

uNodeTypeUID in (Select Distinct NodeTypeUID from ADP_SysTreeNode Where TreeUID=<%TreeUID%>)

uParentLayerName='Root' and TreeUID=<%TreeUID%>

 

l基本类代码产生的基本类代码

l集合类代码产生的集合类代码

l引擎类代码产生的引擎类代码

l缓存声明代码产生的缓存声明代码

l缓存管理代码产生的缓存管理代码

 

3OrFlying 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=’张三<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="123" unitname="’"><span lang="EN-US"><font face="Times New Roman">123’</font></span></chmetcnv>

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

 

 

分享到:
评论

相关推荐

    OrFlying For VB.NET

    我也转向了.net/j2ee的方向,使用vb.net ado.net重新定义ECC模式和编写ECC代码生成器的想法,一直在我心头。终于在2003年第一次写下了第一行代码,到目前为止,该方法已经经过我长时间的使用,基本稳定。 不敢说...

    VB.Net_Camera.rar_VB.NET 摄像头_vb.net 拍照_vb.net 摄像头_vb.net摄像头

    在VB.NET中,通常我们会使用`AxWindowsMediaPlayer`控件来访问和控制摄像头。这个控件是ActiveX技术的一部分,可以提供多媒体播放和摄像头捕获的功能。通过设置`AxWindowsMediaPlayer`的`url`属性为`"video://...

    lua for vb.net

    【lua for vb.net】是一个专为Visual Basic .NET(VB.NET)开发的Lua脚本引擎实现,它使得VB.NET开发者可以方便地在他们的应用程序中嵌入和使用Lua语言。这个库包括两个主要部分:`lua.vb`源代码文件和`Luadll.dll`...

    VB.NET.rar_.net 教程_VB.net教程_Visual Basic.Net_vb.net_vb.net 实例

    《VB.NET教程——Visual Basic .NET深度学习指南》 Visual Basic .NET(简称VB.NET)是微软公司推出的面向对象的编程语言,它是.NET框架的一部分,为开发者提供了强大的开发工具和丰富的功能,尤其适合快速应用程序...

    VB.Net2010VB6转VB.Net(高清视频+源码).zip

    例如,如何将 VB6 的过程转换为 VB.Net 的方法,如何使用 VB.Net 的控件替代 VB6 的控件,以及如何处理事件和异常等。 源码的实践运行是理解这些概念的关键步骤。在 Visual Studio 中打开项目,编译并运行代码,...

    VB.NET2010_MODBUS.zip_VB MODBUS_modbus vb_vb modbus_vb.net RS4

    本项目是作者初次尝试使用VB.NET 2010实现RS485 MODBUS通信,这对于初学者或者需要进行MODBUS协议编程的开发者来说,是一个很好的学习资源。 首先,我们需要了解MODBUS协议。MODBUS是一种通用、开放的通信协议,由...

    VB.NET识别二维码.rar_poemjoe_vb 二维码_vb.net_二维码vb.net_二维码识别

    在VB.NET中,可以使用`System.Drawing.Image`类来加载和处理图像。 5. **解码过程** 使用`ZXing.BarcodeReader`的`Read`或`TryRead`方法,传入图像对象进行解码。这两个方法会返回一个`Result`对象,包含了识别出...

    VB.NET C# 互转 Convert

    3. **循环结构**:VB.NET的For...Next和Do...Loop与C#的for和while有对应的转换规则。 4. **事件处理**:VB.NET使用Handles关键字,C#使用事件委托和+=操作符。 5. **字符串操作**:VB.NET的字符串拼接通常使用&,...

    VB.Net to C# Converter将VB代码转换成C#代码

    然而,当一个项目基于VB.Net编写,而开发者更熟悉或需要使用C#时,转换代码就成为了一个必要的任务。这时,"VB.Net to C# Converter"软件便发挥了关键作用,它能够帮助程序员高效地将VB.Net代码转换为C#代码,大大...

    VB.Net.to.C.Sharp.Converter(VB.net转换成C#批量工具)

    VB.Net to C# Converter(代码转换工具) v2.23 VB.Net to C Sharp Converter 是一款将vb.net代码转化为c#代码的程序。在转化过程中,保留了原有的注释和变量名。 VB.Net to C# Converter是一款代码转换软件,将用户...

    C#转换成vb.net工具

    8. 异常处理:C#使用`try-catch-finally`,VB.NET使用`Try-Catch-Finally`,格式上的差异需要转换。 了解这些基本差异后,开发者可以更有效地使用转换工具,并在必要时对转换后的代码进行调整。虽然自动转换工具...

    vb.net使用picturebox绘图

    在VB.NET中,PictureBox控件通常用于显示图像,但其实它也可以用来进行图形绘制。这个主题探讨了如何利用PictureBox在VB.NET环境中实现图形绘制功能,为初学者提供了一个基础的起点。 首先,VB.NET提供了System....

    vb.net下的MQTT服务器、客户端

    在VB.NET环境中,MQTT(Message Queuing Telemetry Transport)是一种广泛使用的轻量级协议,专为物联网(IoT)设备和低带宽、高延迟或不可靠的网络设计。本项目聚焦于如何在VB.NET中实现MQTT服务器和客户端,以实现...

    VB.NET转JAVA工具

    2. **控制流语句**:VB.NET的If...Then...Else、For...Next、Do...Loop等需要转换为Java的if...else、for、while等。 3. **面向对象特性**:VB.NET的类、接口、继承、多态等需要映射到Java的相应概念。 4. **事件...

    在VB.NET中使用ESC一键退出

    在VB.NET中,开发应用程序时有时需要为用户提供方便快捷的操作方式,例如通过按下键盘上的ESC键来实现一键退出。这可以提升用户体验,使得用户能够快速响应和操作程序。以下是如何在VB.NET中实现这一功能的详细步骤...

    VB.NET2008速成精简版

    VB.NET 2008是微软公司开发的一种编程语言,它是Visual Basic的.NET版本,用于构建Windows桌面应用程序、Web应用程序和移动设备应用。这个“VB.NET 2008速成精简版”可能是一个特别设计的教学或者入门版本,旨在帮助...

    C#代码项目转换VB.NET项目代码(可整个项目转换)

    要实现整个项目的转换,可以利用专门的转换工具,例如使用SharpDevelop,这是一个开源的集成开发环境(IDE),支持多种.NET语言,包括C#和VB.NET。在提供的压缩包文件中,"SharpDevelop_3.2.1.6466_Setup.msi"是...

    用VB.net操作SQLite数据库的完整工程代码

    在本文中,我们将深入探讨如何使用VB.NET编程语言与SQLite数据库进行交互,这是一个轻量级、自包含且无服务器的关系型数据库管理系统。SQLite提供了一种高效、可靠且易于集成的数据存储解决方案,尤其适用于桌面应用...

    VB.NET 获取U盘的物理序列号_获取物理磁盘_vb.net获取物理磁盘序列号_

    本文将深入探讨如何使用VB.NET来获取U盘或者计算机物理磁盘的序列号。 首先,我们需要理解序列号的概念。每个硬盘驱动器都有一个唯一的物理序列号,它是由制造商分配的,用于标识硬盘的身份。这个序列号存储在硬盘...

    VB.NET中Winsock控件的使用详解后续

    本来不想说这个问题,是因为我的另一个资料,很多朋友下载了,说是VB6里面的,在VB.NET里面无法使用Winsock。在做次资源,希望能够帮助到大家。资源中有详细说明。 对于老手,还是习惯使用axWinsock 。 1、在VB.NET...

Global site tag (gtag.js) - Google Analytics