003 Laura.SqlForever 如何扩展 兼容更多数据库引擎 数据库引擎插件 在 界面上的体现 导航窗体 的 工具栏 中的 引擎下拉列表 导航窗体 的 树形控件 中的 引擎主节点 登录窗体 的 登陆面板 综上 扩展一个 数据库引擎 最终 会有三个 地方的 UI 体现 而 工具栏
003 Laura.SqlForever如何扩展 兼容更多数据库引擎
数据库引擎插件 在 界面上的体现
导航窗体 的 工具栏 中的 引擎下拉列表
导航窗体 的 树形控件 中的 引擎主节点
登录窗体 的 登陆面板
综上
扩展一个 数据库引擎 最终 会有三个 地方的 UI体现
而 工具栏,菜单栏,右键菜单,子节点 则有 另外的扩展 方式
具体代码
代码详解
以上图代码为例:
特性 中: Caption 将在 界面展示 时 显示的文本
Key 程序内部 处理时 的键值(不区分大小写)
DbEngineType 当前引擎的类型(和 当前类名 保持一致)
Image 数据库引擎 图标(不指定 其实也没有关系)
数据类型转换接口:
>这里就不列出 接口需要实现 的函数,只顺带说说 这个接口存在的思想:
>Laura.SqlForever 能够实现 跨数据库 的 结构迁移 数据迁移;
>但是 不同的数据库引擎 数据类型 各不相同;
>于是 Laura.SqlForever 实现了 统一类型:所有 数据库类型 和 统一类型 的 互转 是跨数据库类型的核心思想;
操作数据库结构接口:
>包括 读取 数据库 库结构,表结构 & 创建 数据库 库结构,表结构;
登陆面板获取函数 GetLoginPanel():
>该函数 将 返回一个 UI控件,这个 控件最终 被显示 到 登录窗体中;
创建主数据库节点函数 CreateDataEngineNode():
>该函数 将 返回一个 TreeNode控件,这个 主节点具体的子节点 Laura.SqlForever 不予干涉;
数据库引擎 树形节点 扩展
Laura.SqlForever 对 树形控件 主引擎的节点 其实不予干涉 —— 开发者 有 自己的自由;
但是 Laura.SqlForever 对 树形控件 的 节点扩展 也提供了 额外封装:
>以简化 扩展代码 的复杂度
>封装 多线程,在节点 展开时 才 异步获取数据,改善用于体验
>具体 是 DbTreeNode 和 DbFolderTreeNode 两个 基类
具体代码
代码 就 不予详解
>上面 IDataTableFolderNode 只是一个 标记接口(没有任何 函数),加上 这个接口 的节点 将具备 Laura.SqlForever 内置 的 右键菜单项 “新建表(N) …”;
>不继承 IDataTableFolderNode 也不会影响 程序运行,只不过 这个节点 将失去一个 右键菜单项 而已 —— 而你,可以选择 不使用 内置的右键菜单,自己扩展 右键菜单项;
>
这里的 “新建表(N)…”是 内置右键菜单项 (只针对 IDataTableFolderNode 节点)
这里的 “刷新(F)”是 内置的右键菜单项(针对 任何 节点)
Ps. 具体更多 详细信息,可以参见 Laura.SqlForever 的详细源码
Laura.SqlForever 完全开源,任何 企业或个人 都可以 剪切,复制,删除,更改 Laura.SqlForever 的任何代码片段。
舒小龙
2014-02-12 16:38

PHP的SNMP扩展是一种使PHP能够通过SNMP协议与网络设备进行通信的扩展程序。使用该扩展可以方便地获取和修改网络设备的配置信息,例如路由器、交换机等设备的CPU、内存、网络接口等信息,也可以进行诸如开关设备端口等控制操作。本文将介绍SNMP协议的基础知识、PHP的SNMP扩展的安装方法以及如何在PHP中使用SNMP扩展进行网络设备的监控和控制。一、SN

PHP是一种流行的服务器端语言,可以用来开发Web应用程序和处理文件。PHP的ZipArchive扩展是一个强大的工具,可以在PHP中操作zip文件。在这篇文章中,我们将介绍如何使用PHP的ZipArchive扩展来创建、读取和修改zip文件。一、安装ZipArchive扩展在使用ZipArchive扩展之前,需要确保已经安装了这个扩展。安装方法如下:1.安

PHP的POSIX扩展是一组允许PHP与POSIX兼容操作系统进行交互的函数和常量。POSIX(PortableOperatingSystemInterface)是一组操作系统接口标准,旨在允许软件开发人员编写可在各种UNIX或UNIX类操作系统上运行的应用程序。本文将介绍如何使用PHP的POSIX扩展,包括安装和使用。一、安装PHP的POSIX扩展在

随着PHP的发展和应用场景的不断扩大,Phar扩展已经成为PHP编程中的重要一环。Phar是PHPArchive的缩写,它可以将多个PHP文件和资源打包成单个文件,方便进行分发和管理。本文将介绍如何使用PHP的Phar扩展来进行打包和管理。安装Phar扩展首先,我们需要检查PHP是否已经安装Phar扩展。在Linux下,通过终端输入以下命令:php-m

PHP和WebDriver扩展:如何模拟用户点击和输入操作近年来,随着Web应用程序的快速发展,自动化测试变得越来越重要。在自动化测试中,模拟用户操作是一个关键的环节,它可以使我们更准确地测试和验证我们的应用程序。在PHP开发中,我们通常使用SeleniumWebDriver来实现自动化测试。SeleniumWebDriver是一种强大的工具,它可以模拟

随着前端技术的不断发展,Vue已经成为了前端开发中的热门框架之一。在Vue中,组件是其中的核心概念之一,它可以将页面分解为更小,更易管理的部分,从而提高开发效率和代码复用性。本文将重点介绍Vue如何实现组件的复用和扩展。一、Vue组件复用mixinsmixins是Vue中的一种共享组件选项的方式。Mixins允许将多个组件的组件选项合并成一个对象,从而最大

PHP是一种流行的服务器端脚本语言,因其易用性和灵活性而备受欢迎。PHP的Tokenizer扩展是一种强大的工具,它允许你将PHP代码分解为令牌,以便进行语法分析和其他操作。在本文中,我们将介绍如何使用PHP的Tokenizer扩展,以及它的一些基本概念和用法。令牌(Token)是指代码中的最小单位。Token被解析器(Parser)用于生成抽象语法树(AS

PHP是一种广泛使用的服务器端编程语言,它包含许多有用的扩展和工具,其中之一是PCRE(PerlCompatibleRegularExpressions)扩展。在本文中,我们将介绍PHP的PCRE扩展以及如何在PHP中使用它来进行正则表达式匹配。什么是PCREPCRE扩展是PHP中的一个正则表达式库,它基于Perl语言中的正则表达式语法,并提供了一套A


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

记事本++7.3.1
好用且免费的代码编辑器

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。