Sunday, 31 January 2016

QueryCommander SQL Editor

Introduction

With version 4.0 of QueryCommander comes loads of new or improved features such as:
  • Much improved VSS support.
  • Test bench for testing scripts and database objects.
  • Implemented “edit-in-grid” for Oracle.
  • Encrypted password.
  • Extended objects in Server Explorer (table fields, triggers and UDTs to the server browser etc.).
  • Print functionality (output or statement).
  • Abort running query.
  • Documentation Header enhancements.
  • Query builder for creating statement by drag and drop of fields into a Query window.
  • Extended database support for Firebird and DB2.
  • Customized tab size setting.
  • The IntelliSense is extended to give the user information about all possible joins between tables in a statement.
  • Filter option on creating documentation file.
  • Save before close window.
  • New plug-ins for saving result as XML and for saving result as an Excel file.
  • And much, much more.
For those who yet haven't used QueryCommander, it is basically a SQL editor in a modern developer environment with IntelliSense and many useful features to help in the day to day work with databases. It is not the complete database administration tool. If you really need to dig down the fundamentals, you should use Microsoft Query Analyzer, Toad etc. However, if you need a good tool to rapidly create queries, stored procedures, user defined functions etc., we hope QueryCommander will be your alternative.
QueryCommander supports:
  • Microsoft SQL Server 2005
  • Microsoft SQL Server 2000
  • Microsoft SQL Server 6.5
  • MySQL 4.x
  • Oracle 9i
  • Firebird
  • DB2

Background

The application has been developed since May 2003. Its primary goal is to bring a more modern environment to the developers working with databases. It started out with a handful of features such as IntelliSense, unified comment header generator etc. But as the application spread to more users, the demands for more features grew. The project has been hosted on the SourceForge where many developers and users have helped in the evolution of this application. The requests for more features have been greater than ever. This is the main reason why the future of this project is best served under the OpenSource "umbrella".

Using the code

Since the code is subject to changes, please visit the SouceForge site for downloading the code.

GUI Framework

Weinfen Luo has been kind enough to provide us with the Visual Studio layout and design. This means we have a MDI form (MainForm.cs) and some child forms (FrmQueryFrmOutputFrmDBObjectsetc...). In order for this to work, the child window inherits fromWeinfenLuo.WinFormsUI.DockContent. All other windows are "pop-up"-dialogs (FrmGotoLine,FrmSearchFrmXMLErrors etc.).

Query Window

The Editor dialog (FrmQuery) initiates most of the public logic within this application. Each Query dialog has its own database connection object.

The Editor

This has been the biggest challenge while developing the QueryCommander, until the guys atSharpDevelop released their ICSharpCode.TextEditor. It took some minor adjustments in order to make the highlighting work with the SQL language.

Database

QueryCommander supports five different data providers, each data provider has its own Data Manager which inherits from IDatabaseManager. A Data Manager comes with a set of predefined queries used for IntelliSense etc. These queries are found in \Meta\QueryString.xml.

No comments:

Post a Comment