20080510 - 为 SQLyog 添加 Paste SQL Statements - Update and Delete 功能
2008-05-10 20:41
603 查看
SQLyog 是我尝试过 10 多款 MySQL Client 前端程序后的选择,目前工作中一直使用 SQLyog Community 版,其导出功能很有特色,友好的界面用起来很顺手,而且还在不断更新中。SQLyog 中鼠标悬浮在 Table 上的右键菜单有一个 Paste SQL Statements 功能,能针对单表生成 SQL 语句,遗憾的是,只支持 Select 和 Insert 的生成。很久前就打算为其添加 Update 和 Delete 语句的自动生成功能。今天花了一下午,终于搞定了。记录一下过程,编译好的文件在本文附件有下载。
首先,安装 TortoiseSVN 客户端,用如下命令将源代码下载到本地
svn checkout http://sqlyog.googlecode.com/svn/trunk
用 Visual Studio 2005 打开项目,转化,编译,并修正了 4 个强制转化的错误。
观察了一下项目结构,编程方式是 C++/Windows API,其文本编辑器使用的是开源的 Scintilla 。
因为要修改的功能在快捷菜单里,则全局查找 menu 定位资源,发现实现自动生成 SQL 语句的函数在 ObjectBrowser.cpp 里,分别为 CQueryObject::CreateSelectStmt,CQueryObject::CreateInsertStmt。于是依葫芦画瓢,写了CQueryObject::CreateUpdateStmt 和 CQueryObject::CreateDeleteStmt。
将上面两个方法加入 ObjectBrowser.h 头文件,并在资源文件中添加了菜单资源定义和全局加速键定义。
重新编译,对语句输出格式进行优化,最终得到了附件的版本。现在,打开 SQLyog 选中单表,只要按下快捷键就能分别生成四种语句了。
Alt+Shift+I for insert,
Alt+Shift+D for delete,
Alt+Shift+U for update,
Alt+Shift+S for select
是不是很爽?
SQLyog Comunity 绿色版下载
首先,安装 TortoiseSVN 客户端,用如下命令将源代码下载到本地
svn checkout http://sqlyog.googlecode.com/svn/trunk
用 Visual Studio 2005 打开项目,转化,编译,并修正了 4 个强制转化的错误。
观察了一下项目结构,编程方式是 C++/Windows API,其文本编辑器使用的是开源的 Scintilla 。
因为要修改的功能在快捷菜单里,则全局查找 menu 定位资源,发现实现自动生成 SQL 语句的函数在 ObjectBrowser.cpp 里,分别为 CQueryObject::CreateSelectStmt,CQueryObject::CreateInsertStmt。于是依葫芦画瓢,写了CQueryObject::CreateUpdateStmt 和 CQueryObject::CreateDeleteStmt。
将上面两个方法加入 ObjectBrowser.h 头文件,并在资源文件中添加了菜单资源定义和全局加速键定义。
重新编译,对语句输出格式进行优化,最终得到了附件的版本。现在,打开 SQLyog 选中单表,只要按下快捷键就能分别生成四种语句了。
Alt+Shift+I for insert,
Alt+Shift+D for delete,
Alt+Shift+U for update,
Alt+Shift+S for select
是不是很爽?
SQLyog Comunity 绿色版下载
相关文章推荐
- Using MERGE in SQL Server to insert, update and delete at the same time
- SQL--Cascading delete and update (Referential Integrity)
- SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete) 一条语句实现两表同步(添加、删除、修改)
- [SQL Server][FILESTREAM] -- Using INSERT, UPDATE and DELETE to manage SQL Server FILESTREAM Data
- GridView 编辑功能实现 Delete 、 Update、Edit、Cancel
- [Postgres] Update and Delete records in Postgres
- 如何在mybatis中一个insert,delete,update中执行多条SQL语句
- 根据表名自动生成INSERT,UPDATE,DELETE,SELECT的SQL语句
- SQL 表的Insert ,update ,delete 触发器
- SQL 复习笔记2数据更新 insert、update、delete
- SQL中使用update inner join和delete inner join
- GridView 编辑功能实现 Delete 、 Update、Edit、Cancel
- SQL中的Update、delete与inner join 联合使用
- discuz 如何添加数据DB::insert和更新数据DB::update 查询DB::query删除DB::delete
- mysql中update和delete时sql_safe_updates问题
- 用CLR集成为SQL 2005添加简繁转换功能
- Ibatis 批量添加修改删除-batch-insert-update-delete
- How to Update SQL and benchmark with ADE
- Sql Server Trigger 的使用(Insert ,Update,Delete...)
- SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete)