Maison base de données tutoriel mysql 『练手』003 Laura.SqlForever如何扩展 兼容更多数据库引擎

『练手』003 Laura.SqlForever如何扩展 兼容更多数据库引擎

Jun 07, 2016 pm 03:10 PM
003 如何 扩展

003 Laura.SqlForever 如何扩展 兼容更多数据库引擎 数据库引擎插件 在 界面上的体现 导航窗体 的 工具栏 中的 引擎下拉列表 导航窗体 的 树形控件 中的 引擎主节点 登录窗体 的 登陆面板 综上 扩展一个 数据库引擎 最终 会有三个 地方的 UI 体现 而 工具栏

 003 Laura.SqlForever如何扩展 兼容更多数据库引擎

 

数据库引擎插件 在 界面上的体现

       导航窗体 的 工具栏 中的 引擎下拉列表

『练手』003 Laura.SqlForever如何扩展 兼容更多数据库引擎

       导航窗体 的 树形控件 中的 引擎主节点

『练手』003 Laura.SqlForever如何扩展 兼容更多数据库引擎

       登录窗体 的 登陆面板

『练手』003 Laura.SqlForever如何扩展 兼容更多数据库引擎

 

综上

扩展一个 数据库引擎 最终 会有三个 地方的 UI体现

而 工具栏,菜单栏,右键菜单,子节点 则有 另外的扩展 方式

 

具体代码





『练手』003 Laura.SqlForever如何扩展 兼容更多数据库引擎

 

代码详解

以上图代码为例:

特性 中: Caption 将在 界面展示 时 显示的文本

       Key     程序内部 处理时 的键值(不区分大小写)

       DbEngineType       当前引擎的类型(和 当前类名 保持一致)

       Image     数据库引擎 图标(不指定 其实也没有关系)



『练手』003 Laura.SqlForever如何扩展 兼容更多数据库引擎

 

数据类型转换接口

       >这里就不列出 接口需要实现 的函数,只顺带说说 这个接口存在的思想:

>Laura.SqlForever 能够实现 跨数据库 的 结构迁移 数据迁移;

>但是 不同的数据库引擎 数据类型 各不相同;

>于是 Laura.SqlForever 实现了 统一类型:所有 数据库类型 和 统一类型 的 互转 是跨数据库类型的核心思想;

 

操作数据库结构接口

       >包括 读取 数据库 库结构,表结构  &  创建 数据库 库结构,表结构;

 

登陆面板获取函数 GetLoginPanel()

       >该函数 将 返回一个 UI控件,这个 控件最终 被显示 到 登录窗体中;

 

创建主数据库节点函数 CreateDataEngineNode()

       >该函数 将 返回一个 TreeNode控件,这个 主节点具体的子节点 Laura.SqlForever 不予干涉;

 

数据库引擎 树形节点 扩展

Laura.SqlForever 对 树形控件 主引擎的节点 其实不予干涉 —— 开发者 有 自己的自由;

但是 Laura.SqlForever 对 树形控件 的 节点扩展 也提供了 额外封装:

       >以简化 扩展代码 的复杂度

       >封装 多线程,在节点 展开时 才 异步获取数据,改善用于体验

       >具体 是 DbTreeNode  DbFolderTreeNode 两个 基类

具体代码




『练手』003 Laura.SqlForever如何扩展 兼容更多数据库引擎

代码 就 不予详解

>上面 IDataTableFolderNode 只是一个 标记接口(没有任何 函数),加上 这个接口 的节点 将具备 Laura.SqlForever 内置 的 右键菜单项 新建表(N) …”

>不继承 IDataTableFolderNode 也不会影响 程序运行,只不过 这个节点 将失去一个 右键菜单项 而已 —— 而你,可以选择 不使用 内置的右键菜单,自己扩展 右键菜单项;

       >    『练手』003 Laura.SqlForever如何扩展 兼容更多数据库引擎

这里的 “新建表(N)…”是 内置右键菜单项 (只针对 IDataTableFolderNode 节点)

这里的 “刷新(F)”是 内置的右键菜单项(针对 任何 节点)

 

 

 

Ps.   具体更多 详细信息,可以参见 Laura.SqlForever 的详细源码

Laura.SqlForever 完全开源,任何 企业或个人 都可以 剪切,复制,删除,更改 Laura.SqlForever 的任何代码片段。

 

 

 

                                                             舒小龙

                                                        2014-02-12 16:38

 

 

 

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser l'extension SNMP de PHP ? Comment utiliser l'extension SNMP de PHP ? Jun 02, 2023 am 10:22 AM

L'extension SNMP pour PHP est une extension qui permet à PHP de communiquer avec les périphériques réseau via le protocole SNMP. En utilisant cette extension, vous pouvez facilement obtenir et modifier les informations de configuration des périphériques réseau, telles que le processeur, la mémoire, l'interface réseau et d'autres informations sur les routeurs, les commutateurs, etc. Vous pouvez également effectuer des opérations de contrôle telles que la commutation des ports des périphériques. Cet article présentera les connaissances de base du protocole SNMP, comment installer l'extension SNMP de PHP et comment utiliser l'extension SNMP en PHP pour surveiller et contrôler les périphériques réseau. 1. SN

Extensions et modules tiers pour les fonctions PHP Extensions et modules tiers pour les fonctions PHP Apr 13, 2024 pm 02:12 PM

Pour étendre les fonctionnalités des fonctions PHP, vous pouvez utiliser des extensions et des modules tiers. Les extensions fournissent des fonctions et des classes supplémentaires qui peuvent être installées et activées via le gestionnaire de packages pecl. Les modules tiers fournissent des fonctionnalités spécifiques et peuvent être installés via le gestionnaire de packages Composer. Des exemples pratiques incluent l'utilisation d'extensions pour analyser des données JSON complexes et l'utilisation de modules pour valider les données.

Du début à la fin : Comment utiliser l'extension php cURL pour effectuer des requêtes HTTP Du début à la fin : Comment utiliser l'extension php cURL pour effectuer des requêtes HTTP Jul 29, 2023 pm 05:07 PM

Du début à la fin : Comment utiliser l'extension php cURL pour les requêtes HTTP Introduction : En développement web, il est souvent nécessaire de communiquer avec des API tierces ou d'autres serveurs distants. Utiliser cURL pour effectuer des requêtes HTTP est un moyen courant et puissant. Cet article expliquera comment utiliser PHP pour étendre cURL afin d'effectuer des requêtes HTTP et fournira quelques exemples de code pratiques. 1. Préparation Tout d'abord, assurez-vous que l'extension cURL est installée sur php. Vous pouvez exécuter php-m|grepcurl sur la ligne de commande pour vérifier

Comment installer l'extension mbstring sous CENTOS7 ? Comment installer l'extension mbstring sous CENTOS7 ? Jan 06, 2024 pm 09:59 PM

1.UncaughtError:Calltoundefinedfunctionmb_strlen(); Lorsque l'erreur ci-dessus se produit, cela signifie que nous n'avons pas installé l'extension mbstring ; 2. Entrez dans le répertoire d'installation de PHP cd/temp001/php-7.1.0/ext/mbstring ; /usr/local/bin /phpize ou /usr/local/php7-abel001/bin/phpize) pour installer l'extension php 4../configure--with-php-config=/usr/local/php7-abel

Comment utiliser l'extension Aurora Push pour implémenter la fonction push de messages par lots dans les applications PHP Comment utiliser l'extension Aurora Push pour implémenter la fonction push de messages par lots dans les applications PHP Jul 25, 2023 pm 08:07 PM

Comment utiliser l'extension Aurora Push pour implémenter la fonction push de messages par lots dans les applications PHP. Dans le développement d'applications mobiles, le push de messages est une fonction très importante. Jiguang Push est un service push de messages couramment utilisé qui fournit des fonctions et des interfaces riches. Cet article explique comment utiliser l'extension Aurora Push pour implémenter la fonctionnalité push de messages par lots dans les applications PHP. Étape 1 : Enregistrez un compte Jiguang Push et obtenez une clé API. Tout d'abord, nous devons nous inscrire sur le site officiel de Jiguang Push (https://www.jiguang.cn/push).

Raisons et solutions pour lesquelles le lecteur D ne peut pas être étendu dans le système win11 Raisons et solutions pour lesquelles le lecteur D ne peut pas être étendu dans le système win11 Jan 08, 2024 pm 12:30 PM

Certains utilisateurs estiment que leur espace disque n'est pas suffisant et souhaitent étendre l'espace disque d. Cependant, pendant l'opération, ils constatent que leur disque win11d ne peut pas être étendu et que le volume étendu est gris. espace disque insuffisant. Jetons un coup d’œil aux solutions ci-dessous. Pourquoi le disque win11d ne peut pas être étendu : 1. Espace insuffisant 1. Tout d'abord, pour étendre le disque d, vous devez vous assurer que votre disque dispose d'un « espace disponible », comme le montre la figure. 2. S'il n'y a pas d'espace disponible comme celui-ci, alors il n'y a naturellement aucun moyen de s'étendre. 3. Si vous souhaitez étendre le lecteur D à ce moment, vous pouvez trouver d'autres disques, faites un clic droit et sélectionnez « Compresser le volume ». 4. Entrez l'espace que vous souhaitez étendre pour compresser, puis cliquez sur « OK » pour obtenir le espace disponible. 2. Les disques ne sont pas adjacents. 1. Pour étendre un disque, vous pouvez

Comment utiliser l'extension ZipArchive de PHP ? Comment utiliser l'extension ZipArchive de PHP ? Jun 02, 2023 am 08:13 AM

PHP est un langage côté serveur populaire qui peut être utilisé pour développer des applications Web et traiter des fichiers. L'extension ZipArchive pour PHP est un outil puissant pour manipuler les fichiers zip en PHP. Dans cet article, nous verrons comment utiliser l'extension ZipArchive de PHP pour créer, lire et modifier des fichiers zip. 1. Installez l'extension ZipArchive Avant d'utiliser l'extension ZipArchive, vous devez vous assurer que l'extension a été installée. La méthode d'installation est la suivante : 1. Installer

Comment utiliser l'extension POSIX de PHP ? Comment utiliser l'extension POSIX de PHP ? Jun 03, 2023 am 08:01 AM

Les extensions POSIX pour PHP sont un ensemble de fonctions et de constantes qui permettent à PHP d'interagir avec les systèmes d'exploitation compatibles POSIX. POSIX (PortableOperatingSystemInterface) est un ensemble de normes d'interface de système d'exploitation conçues pour permettre aux développeurs de logiciels d'écrire des applications pouvant s'exécuter sur divers systèmes d'exploitation UNIX ou de type UNIX. Cet article explique comment utiliser les extensions POSIX pour PHP, y compris l'installation et l'utilisation. 1. Installez l'extension POSIX de PHP dans

See all articles