Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

QueryCommander SQL Editor

0.00/5 (No votes)
27 Sep 2005 1  
QueryCommander SQL editor with IntelliSense, wrapped in a Visual Studio type of environment. QueryCommander supports: Microsoft SQL Server 6.5-2005, MySQL 4.*-5.1, and Oracle 9i.

Sample Talbe IntelleSense

Sample Column IntelliSense

Sample Talbe IntelleSense

Sample Column IntelliSense

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 (FrmQuery, FrmOutput, FrmDBObjects etc...). In order for this to work, the child window inherits from WeinfenLuo.WinFormsUI.DockContent. All other windows are "pop-up"-dialogs (FrmGotoLine, FrmSearch, FrmXMLErrors 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 at SharpDevelop 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.

Credits and thankfulness

  • Weifen Luo - DockPanel Suite is designed to achieve docking capability for MDI forms. It can be used to develop Visual Studio .NET style applications.
  • #develop - SharpDevelop is an open source IDE for the .NET platform. QueryCommander is using their ICSharpCode.TextEditor.
  • Rockwolf - For hosting the development of QueryCommander.
  • Aprenot - Reusable Diff Algorithm in C#.
  • Rama Krishna Kolluri - C# class library for exporting data to CSV/Excel file.
  • Franz Ehrenhuber - For testing, help and input.
  • Frans Nylin - For helping out with the Oracle implementation.
  • Lindsey Lewis - For developing, help and input.
  • Christian Halvarsson and Farid Benhajji - For helping out with the web layout.

For more information

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here