Click here to Skip to main content
Email Password   helpLost your password?

Sample Image - SQLFormatterWebService.gif

Introduction

SQL code is much easier and faster to read and understand when it is formatted, especially when it is a long and complicated SQL statement you are dealing with, or you have to read other peoples code. Writing a decent SQL formatter is not an easy task. In this article, I would like to create an online SQL formatter in C#, this consuming application send unformatted SQL to the server which will return the formatted SQL to the application.

Using the code

A web service at www.gudusoft.com which accepted SQL code, and returns formatted SQL. Take a look at the WSDL here. The important part is shown below, which describes the beautifySql method.

    <wsdl:operation name="beautifySql">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Beautify the sql</documentation>
      <wsdl:input message="tns:beautifySqlSoapIn" />
      <wsdl:output message="tns:beautifySqlSoapOut" />
    </wsdl:operation>
Step 1: Build the proxy class
Executing the following...
C:>wsdl.exe http://www.gudusoft.com/SQLFormatterWebService.wsdl
... results in C# file, SQLFormatterWebService.cs which contains a class called SQLFormatterWebService. Examine how the methods of this class correspond to those detailed in the WSDL file, especially the following method:
public string beautifySql(string dbvendor, string sql)
dbvendor: SQL dialect of which database, support mssql,oracle,mysql and access currently.
sql :  SQL code need to be formatted.
Step 2: Compile the proxy class
Next, we have to compile the auto generated file. The file contains no entry point, and thus has to be built as a library.
C:\>csc /t:library c:\SQLFormatterWebService.cs
Resulting in a new file SQLFormatterWebService.dll.

Step 3: Create an ASP.NET application
This application sqlformatter.aspx consume the SQL Formatter Web Service.
<%@Assembly Name="SQLFormatterWebService" %> 

<html>
  <head>
    <title>Demo of SQL Formatter Web Service </title>
  </head>

  <body>
   <form RunAt="server">
          <asp:TextBox ID="inputsql" Text="select f1,f2 from t1" TextMode="MultiLine" Rows="10" Columns="60" Wrap="False" RunAt="server"/>
        <br><asp:Button Text=" Format Code " OnClick="onFormat" RunAt="server" />
          <br><asp:TextBox ID="outputsql" TextMode="MultiLine" Rows="10" Columns="60" Wrap="False" RunAt="server"/>
            
  </form>
  </body>
</html>

<script language="c#" RunAt="server">
  void onFormat (Object sender, EventArgs e)
{
    SQLFormatterWebService sqlformatter = new SQLFormatterWebService();
    outputsql.Text = sqlformatter.beautifySql("mssql",inputsql.Text);
}
</script>



Step 4: Setup this ASP.NET application on your IIS server
Enjoy it!

Points of Interest

This SQL Formatter Web Service can be used widely, especially in forums of database related website, where many SQL code will be submitted by user for discussion, it would be nice if these SQL code can be formatted before post to the forum.

For further information, These sites were useful if you are interested in SQL formatter:

History

First release 04-09-2006

You must Sign In to use this message board.
 
 
Per page   
 FirstPrevNext
GeneralVisual Studio 2008 detects no services at this address ...
Muaddubby
11:01 16 May '08  
Is this service still available, or do we need to host it locally ?


GeneralSource Code for the Web Service
hartmuth.lohmiller
1:10 10 Apr '06  
please post the Source Code for the Web Service, to complete your Article.
GeneralRe: Source Code for the Web Service
Tako.Lee
1:41 10 Apr '06  
The source code of the Web Service is available now.
GeneralWhy???
jaxxter
18:01 9 Apr '06  
Codeproject is a place to learn about writing code. Not promoting 3rd-party web services. This "article" should be removed.

-- modified at 23:03 Sunday 9th April, 2006
GeneralRe: Why???
Tako.Lee
18:57 9 Apr '06  
This is a tutorial for beginner to use web service on the internet step by step, after read this article, people can use other web services as well.
SQL Formatter web service here used is just for an
example, it's free and I'm sure it will be helpful
to some people.

-- modified at 0:06 Monday 10th April, 2006
GeneralRe: Why???
jaxxter
20:06 9 Apr '06  
There are already other articles on code project that are much better web service tutorials.


Last Updated 9 Apr 2006 | Advertise | Privacy | Terms of Use | Copyright © CodeProject, 1999-2010