Free Query Commander (SQL Editor) released!! : LUSENET : DBAzine : One Thread

QueryCommander is a free sql editor wrapped in a Visual Studio type of environment. QueryCommander supports:

Microsoft SQL Server 2000 Microsoft SQL Server 2005 (YUKON) Microsoft SQL Server 6.5 MySQL 4.x Oracle 9i (the "edit-in-grid" functionality is not yet implemented)

QueryCommander 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. Working as a developer architect, one is often put in situations to evaluate other applications. When you are not familiar to the structure of the database, the IntelliSense and other features will allow you to save time.

The source code is freely available under a certified Open Source license. We welcome everyone to use our software in the hope that they can provide feedback, submit bug reports and fixes, or even join us as a developer. For more information Version is ready for download!

Release information

New features Oracle support Although not yet fully supported, useful for simple queries MySQL support Useful for simple queries Comapre - Show difference Compare and view differences between script files Export to Excel Save your output to microsoft Excel New Editor Extracted from #develop. Much faster and more reliable Workspaces Organize your scriptfiles Drag and Drop Drag and drop files to editor window Undo Checkout Additional Visual SourceSafe integration. Comapare scriptfiles View file content differances. Line numbering Optional feature for editor []VSS integration Visual SourceSafe integration. Check-in, Check-out etc

Resolved bugs: 82802 Undo in Editor Fixed. 1084994 Combination of Queries not working Fixed 1085005 Executing a Query with a variable displays 2 times Fixed 1075489 Fixed Fixed 1082379 Insert queries from select not always working Fixed 1082233 Mark Char Expression in Editor Fixed 1073406 The data sources window does not display Friendly Names Fixed 1082236 Keep row and display of result pane Fixed 1081988 Display Line and Col in Status Bar Fixed 1099433 Goto line - window scrolling Fixed 1099434 F2 -reserved words in upper case Fixed 1099454 Shortcut key for copy/paste in Query results Fixed 1080805 Intellisense does not work when tables have names with owner Fixed Running a query by pressing ALT+X will sometimes result in a line break. Fixed


IntelliSense By pressing CTRL+Space, IntelliSense will provide an array of options that make language references easily accessible. When coding, you do not need to leave the editor window to perform searches on database elements. You can keep your context, find the information you need, insert elements directly, and even have IntelliSense complete your typing. IntelliSense comprises database objects, reserved words, local variables and columns. Tip: Use wild-card such as "sp*time" to get all stored procedures which ends with "time".

Workspace Workspaces are used for organizing script files. Workspace items are similar to shortcuts where each "file" can be included in several workspaces.

Export to Excel This feature is implemented as a Plug-in. Enabling this option will save the grid output as an Microsoft Excel file.

Source Control Integration with Visual SourceSafe enables developers to access team development features such as check-in and check-out, history etc. QueryCommander does NOT provide support for all features in Visual SourceSafe. To consume all features of Visual SourceSafe, the developer environment need access local recourses (files). Since working with database objects (tables, views, stored procedures and functions), developers might collaborate with others, sharing the same objects. Itís there for important to understand that altering a checked-out object will make changes visible to others as if there where no source control. It will however prevent other users (using QueryCommander) from altering the same object.

Go to Definition/Go to Reference Perhaps the most appreciated feature of all. Pointing the cursor to a database object (in the query window) and pressing F12 will open a new window with the definition of the choosen object. Pressing Shift+F12 will present a dialog with all objects using the choosen object.

Xml2Data Create table structure from xml file, and populate the tables with data from the same file. To preserve the structure of the document, QueryCommander can add identifiers and foreign keys to the tables.

Comment header help You can document stored procedures using XML. By pressing F11 or by using the Tool menu you can add comment header above the declaration of the procedure, function or view. You can (should) complement the header tags with additional information. First time you add a header, a tag with the value "Created" will be added. When you later alter the same object, an additional tag with the value "Altered" will be added.

Documentation QueryCommander will process documentation comment headers in the choosen database to an XML file. The xml file is then parsed thought an xsl file to deliver you a documentation of all database objects (not tables since they are not allowed to be commented).

Script for insert and update By querying a table for a selected content you can create insert and update scripts through the Tool menu.

Edit in grid When querying a single table (no joins), you can manipulate the result in the output window.

Updates You will be notified about new updates and releases upon starting QueryCommander. You can then choose to update by pressing the Update now button.

Query statistics message Enabling this option will inform the user about ineffective query plans.

Parenthesis recognition The query window will highlight the scope of the parenthesis.

Run current query Simply point to the query you want to execute and press F9. No need to select the query to be executed.

Known bugs

Please visit Sourceforge for updated information


QueryCommander downloads QueryCommander is free to download for everyone. All downloads are available on

Release candidate Prerelease notes: Oracle support New Editor Drag n' Drop working file folder Output 2 Excel


Plug-in modules are programs developed by any software developer to add features to QueryCommander. All Plug-ins are free to download for everyone.

Install Plug-ins To install a Plug-in, save the Plug-in file in the Plug-in folder ([QueryCommander path\Plug-ins]). Once installed, QueryCommander will expose the functionality encapsulated by the Plug-in.

Developing Plug-ins Developing a plug-in is quite simple.

1. Create a new class library project in Visual Studio. 2. Reference QueryCommander.PlugIn.Core.dll 3. Add a class and inherit from any of the interfaces in the QueryCommander.PlugIn.Core.Interfaces namespace. 4. Add Code in the Execute method. 5. Compile

For more information about developing plug-ins, read the Developing Plug-in document. When you are done testing your plug-in, please send it to us so we can offer it to other users.

Name: Description: QueryCommander.PlugIn.Core Includes all interfaces and transportobjects Doc MyPlugin1 Sample project Source TextFileOutput Sample project. Enables users to save the query result to an output file. Source ExcelFileOutput Sample project. Enables users to save the query result to an Microsoft Excel file. Save the Interop.Excel.dll in the QueryCommander base folder and the ExcelFileOutput.dll file in the PlugIn folder. Source


As we do our best to help anyone using QueryCommander, we appreciate users submitting bugs and feature requests so we can continue improving this application.

Please contact us for support and feedback

Screen shoots

By pressing CTRL+Space, IntelliSense will provide an array of options that make language references easily accessible. In this case the IntelliSense will show the user all objects starting with "emp".

By pressing "." after a table/view or alias, IntelliSense will show all columns for specified table or view. Pressing "Tab" will insert the choosen column.

Using wildcard character "*" can be useful when you don't remeber the exact definition of the object. typing "sp_*agent_par" will in this sample result in all objects starting with "sp_" and including "agent_par".

The user can view and edit the result in the output window. This is only possible for single table queries.

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 developing 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.

Christian Halvarsson and Farid Benhajji For helping out with the web layout



Home of Microsoft SQL Server

Home of MySQL

Home of Oracle

Oracle Data Provider for .NET and Oracle Data Access Components (ODAC) Downloads

-- Franz Ehrenhuber (, January 26, 2005

Moderation questions? read the FAQ