说明: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%>为关联条件,ClassUID为Class类中的ClassUID对应的属性名称,= 号前面的ClassUID为Student表中的关联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
相关推荐
我也转向了.net/j2ee的方向,使用vb.net ado.net重新定义ECC模式和编写ECC代码生成器的想法,一直在我心头。终于在2003年第一次写下了第一行代码,到目前为止,该方法已经经过我长时间的使用,基本稳定。 不敢说...
在VB.NET中,通常我们会使用`AxWindowsMediaPlayer`控件来访问和控制摄像头。这个控件是ActiveX技术的一部分,可以提供多媒体播放和摄像头捕获的功能。通过设置`AxWindowsMediaPlayer`的`url`属性为`"video://...
【lua for vb.net】是一个专为Visual Basic .NET(VB.NET)开发的Lua脚本引擎实现,它使得VB.NET开发者可以方便地在他们的应用程序中嵌入和使用Lua语言。这个库包括两个主要部分:`lua.vb`源代码文件和`Luadll.dll`...
《VB.NET教程——Visual Basic .NET深度学习指南》 Visual Basic .NET(简称VB.NET)是微软公司推出的面向对象的编程语言,它是.NET框架的一部分,为开发者提供了强大的开发工具和丰富的功能,尤其适合快速应用程序...
例如,如何将 VB6 的过程转换为 VB.Net 的方法,如何使用 VB.Net 的控件替代 VB6 的控件,以及如何处理事件和异常等。 源码的实践运行是理解这些概念的关键步骤。在 Visual Studio 中打开项目,编译并运行代码,...
本项目是作者初次尝试使用VB.NET 2010实现RS485 MODBUS通信,这对于初学者或者需要进行MODBUS协议编程的开发者来说,是一个很好的学习资源。 首先,我们需要了解MODBUS协议。MODBUS是一种通用、开放的通信协议,由...
在VB.NET中,可以使用`System.Drawing.Image`类来加载和处理图像。 5. **解码过程** 使用`ZXing.BarcodeReader`的`Read`或`TryRead`方法,传入图像对象进行解码。这两个方法会返回一个`Result`对象,包含了识别出...
3. **循环结构**:VB.NET的For...Next和Do...Loop与C#的for和while有对应的转换规则。 4. **事件处理**:VB.NET使用Handles关键字,C#使用事件委托和+=操作符。 5. **字符串操作**:VB.NET的字符串拼接通常使用&,...
然而,当一个项目基于VB.Net编写,而开发者更熟悉或需要使用C#时,转换代码就成为了一个必要的任务。这时,"VB.Net to C# 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是一款代码转换软件,将用户...
8. 异常处理:C#使用`try-catch-finally`,VB.NET使用`Try-Catch-Finally`,格式上的差异需要转换。 了解这些基本差异后,开发者可以更有效地使用转换工具,并在必要时对转换后的代码进行调整。虽然自动转换工具...
在VB.NET中,PictureBox控件通常用于显示图像,但其实它也可以用来进行图形绘制。这个主题探讨了如何利用PictureBox在VB.NET环境中实现图形绘制功能,为初学者提供了一个基础的起点。 首先,VB.NET提供了System....
在VB.NET环境中,MQTT(Message Queuing Telemetry Transport)是一种广泛使用的轻量级协议,专为物联网(IoT)设备和低带宽、高延迟或不可靠的网络设计。本项目聚焦于如何在VB.NET中实现MQTT服务器和客户端,以实现...
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中实现这一功能的详细步骤...
VB.NET 2008是微软公司开发的一种编程语言,它是Visual Basic的.NET版本,用于构建Windows桌面应用程序、Web应用程序和移动设备应用。这个“VB.NET 2008速成精简版”可能是一个特别设计的教学或者入门版本,旨在帮助...
要实现整个项目的转换,可以利用专门的转换工具,例如使用SharpDevelop,这是一个开源的集成开发环境(IDE),支持多种.NET语言,包括C#和VB.NET。在提供的压缩包文件中,"SharpDevelop_3.2.1.6466_Setup.msi"是...
在本文中,我们将深入探讨如何使用VB.NET编程语言与SQLite数据库进行交互,这是一个轻量级、自包含且无服务器的关系型数据库管理系统。SQLite提供了一种高效、可靠且易于集成的数据存储解决方案,尤其适用于桌面应用...
本文将深入探讨如何使用VB.NET来获取U盘或者计算机物理磁盘的序列号。 首先,我们需要理解序列号的概念。每个硬盘驱动器都有一个唯一的物理序列号,它是由制造商分配的,用于标识硬盘的身份。这个序列号存储在硬盘...
本来不想说这个问题,是因为我的另一个资料,很多朋友下载了,说是VB6里面的,在VB.NET里面无法使用Winsock。在做次资源,希望能够帮助到大家。资源中有详细说明。 对于老手,还是习惯使用axWinsock 。 1、在VB.NET...