今天我们主要讲述如何用EA来做SQLHelper层的编写,首先看一下完成之后的SqlHelper图,其中我们重点关注圈注中的内容

这张图中用的单例模式的具体代码和两个类之间的关系,可以参考我之前写的一篇关于单例的博客中的第五种方式,如下图所示

链接地址 http://blog.csdn.net/zs15932616453/article/details/7203141

明白单例的概念之后,我们接着我们看我们的SQLHelper层

1,嵌套类.这次我们做的SQLHelper类中,我们用到了单例模式,所以有一个嵌套类存在。它在UML图中的符号就是两个冒号,即表示冒号右边的类嵌套在左边的类中.(两个冒号在这里是因为嵌套类,而不是所有的双冒号都是嵌套类,请读者理解这一点)

制作嵌套类是一个很简单的事情,只要你能在项目浏览器中将两个类调成下图所示即可,至于方法,本文不做解释.

2,在Nested类中我们有这样一个代码

Friend Shared Instance As New S_Helper()

我们来分析一下这句代码的关键词:友元类型,共享变量,初始 New

然后我们依次构造即可

这里我们勾选Static即可将其构造成共享变量,接下来是New,我们要实现上述的代码,需要做如下设置

首先是 <详细信息选项卡 >下的 <集合>设置

设定好之后我们生成的代码是

Friend SharedInstance As S_Helper()

细心观察,我们可以看出这里没有New关键字,所以我们需要另一个设置

这里介绍两种方式

第一种,直接在类型中写,但是这种方式在类图中会有痕迹,至于原因,读者可以思考一下

第二种是在标记值选项卡中设定  Instance的属性objectInitialiser为True

至于说如何设定,本文不做介绍,提示一下,标记值是一个很有用的选项卡,有兴趣的读者可以研究一下

强调一点,不要将上述的两种方法同时使用,否则生成的代码会成为

Friend SharedInstance As New New S_Helper()

3,Association属性的设置

嵌套类之间有他们自己的关系,所以适当的连线是不可少的,我们重点说一下,下图设置的作用

如果没有上图设置,生成的代码中会多出一行 ,而这一行我们在代码中是不需要的

Friend m_S_Helper As S_Helper

4,数组类型

数组类型其实就是类型的末尾加了"()",原因其实很简单,因为对EA来说数组仅仅是加了两个字符而已。EA根本不会识别是不是数组,所谓数组,不过是对编译器来说的,对EA来说更多的是当成字符的识别.

5,属性的设置

属性有时候需要对进行一些特殊设定

例如我们这次用到的Instance的代码要求

Friend ReadOnly Shared Property Instance() As S_Helper
Get
Return <unknown>
End Get
End Property

具体的设置如下

以上就是我们对SQLHelper类中的难点制作,其它的内容,读者可以根据我们的类图,自行研究即可。

注意一点,我们按照类图生成的代码也许会有一些错误和不足,所以我们还要对代码进行完善,这一点,任何Case工具都是一样的,所以代码的功底还需要读者自行努力.

EA教程 (四) SQLHelper类相关推荐

  1. MT4/MQL4入门到精通EA教程第四课-MQL语言常用函数(四)-K线取值常用函数

    MQL中有一组"函数",他们长得跟其他函数不一样,是不一样的函数,就是下面这几个功能强大的"函数" Open[].Close[].High[].Low[].Ti ...

  2. MVC5+EF6 入门完整教程四

    MVC5+EF6 入门完整教程四 原文:MVC5+EF6 入门完整教程四 上篇文章主要讲了如何配置EF, 我们回顾下主要过程: 创建Data Model à 创建Database Context à创 ...

  3. Laravel教程 四:数据库和Eloquent

    Laravel教程 四:数据库和Eloquent 此文章为原创文章,未经同意,禁止转载. Eloquent Database 上一篇写了一些Laravel Blade的基本用法和给视图传递变量的几种方 ...

  4. .net mysql sqlhelper_「谢灿asp.net三层架构」5、DAL中公共类-SqlHelper类应该这样写

    <谢灿asp.net三层架构>系列教程由小灿灿IT首发百度平台,希望对各位喜欢计算机的同学有所帮助!关注+分享+评论+点赞,是对我们最好的支持!有了您的支持,我们坚信我们会做得更好! 在C ...

  5. Directx11教程四十六之FBX SDK

    在之前的DX11入门系列文章中,有篇有关 Directx11教程四十之加载OBJ模型 读取obj模型数据的博客.不过在obj读取的那篇博客我有些坑并没有说,就是我写的那个obj解析器只能解析特定的ob ...

  6. SqlHelper类中的ExecuteNonQuery方法解析

    在SqlHelper类(windows原)中,ExecuteNonQuery方法通常用于执行数据库更新与返回存储过程的输出参数,它有九个重载,接下来我们来一一解析. 首先介绍一下此方法可以输入哪些参数 ...

  7. C++编程入门系列之十四(类与对象:构造函数和析构函数)

    C++编程入门系列之十四(类与对象:构造函数和析构函数) 鸡啄米上一节中给大家讲解了类的声明.成员的访问控制和对象,今天鸡啄米给大家讲C++编程入门时同样必须掌握的构造函数和析构函数.从上一讲开始已经 ...

  8. Flask从入门到做出一个博客的大型教程(四)

    Flask从入门到做出一个博客的大型教程(四) 在开始之前,先来看下项目的整体结构. flask ├── app │ ├── forms.py │ ├── __init__.py │ ├── mode ...

  9. ADO.NET复习——自己编写SqlHelper类

    今天复习了一次ADO.NET基础,整理一下自己的认为的重点: 编写SqlHelper类,方便我们执行数据库语句,这时可以直接调用封装在SqlHelper类的方法.现在大多数公司面试的时候,给你的面试题 ...

最新文章

  1. 《ASP.NET 开发从入门到精通》----2.3 编译和部署ASP.NET程序
  2. Prim和Dijkstra算法的区别
  3. 2015/10/9 Python核编初级部分学习总结
  4. 解决: Intellij IDEA 运行报错 Command line is too long
  5. 为你整理了一份 Mysql 的学习笔记,建议收藏学习!
  6. video怎么重新加载 vue_vue 事件中更改video的src成功,视频不加载
  7. 漫画:程序员之间的真爱,好暖啊!
  8. 数据可视化 —— 数据流图(Data Flow Diagram)
  9. python 通过js控制滚动条拉取全文 通过psutil获取pid窗口句柄,通过win32gui使程序窗口前置 通过autopy实现右键菜单和另存为操作...
  10. 云原生:云计算时代命题之终极解决方案
  11. 弘辽科技:直通车引流逻辑。
  12. torch.stft()与librosa.stft()的对比
  13. [原创] 我了解北京地区消费贷利息情况
  14. 抖音一起看显示服务器维护中,抖音一起看会看到别的吗?一起看视频期间无法操作是什么意思...
  15. windows 无法对计算机进行启动到,windows无法启动无法启动怎么办,windows无法启动的9种解决方法...
  16. 2018校招笔试真题汇总
  17. java自动发图文微博_自动发带图的微博
  18. 【面经】京东搜索广告算法一面
  19. 编写宏(macro)时遇到的小错误
  20. CSS通用样式2——Flex布局

热门文章

  1. SpringCloud:SpringCloudGateway对Forwarded和X-Forwarded-*处理分析
  2. 数据可视化大屏分析避孕套(爬虫+jieba分词+pyecharts可视化大屏)
  3. JS 实现跨域模拟登入
  4. PHP+Mysql服装商城 网上服装购物商城 基于PHP服装商城的系统设计与实现(1)首页
  5. 微信小程序JS导出和导入
  6. c++学习日记之使用类来模拟随机漫步
  7. AutoHotKey整理
  8. 成长道路上,哪些道理让你懂之恨晚?
  9. Omni-USDT钱包开发使用NodeJs离线签名
  10. php框架 postgresql,CodeIgniter框架中使用PostgreSQL的配置