SQL beautifier, format SQL in your own program
Add SQL format/beautify features in your own program in 5 minutes, 10 lines code with more than 80 format options. Formatted SQL query can be in plain text, or colored, syntax highlight in RTF or HTML.
pseudo code in C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using gudusoft.gsqlparser;
using gudusoft.gsqlparser.Units;
namespace formatsql
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void setupformatoptions()
{
//for more format options, please check document
lzbasetype.gFmtOpt.Select_Columnlist_Style = TAlignStyle.asStacked;
lzbasetype.gFmtOpt.Select_Columnlist_Comma = TLinefeedsCommaOption.lfAfterComma;
lzbasetype.gFmtOpt.SelectItemInNewLine = false;
lzbasetype.gFmtOpt.AlignAliasInSelectList = true;
lzbasetype.gFmtOpt.TreatDistinctAsVirtualColumn = false;
//setup more format options ...
lzbasetype.gFmtOpt.linenumber_enabled = true;
}
private void setuphighlighterAttributes()
{
lzbasetype.gFmtOpt.HighlightingFontname = "Courier New";
lzbasetype.gFmtOpt.HighlightingFontsize = 10;
//for other elements you want to customize, please check document
lzbasetype.gFmtOpt.HighlightingElements[(int)TLzHighlightingElement.sfkIdentifer].SetForegroundInRGB("#008000");
lzbasetype.gFmtOpt.HighlightingElements[(int)TLzHighlightingElement.sfkIdentifer].StyleBold = true;
lzbasetype.gFmtOpt.HighlightingElements[(int)TLzHighlightingElement.sfkIdentifer].StyleItalic = false;
lzbasetype.gFmtOpt.HighlightingElements[(int)TLzHighlightingElement.sfkIdentifer].StyleStrikeout = false;
lzbasetype.gFmtOpt.HighlightingElements[(int)TLzHighlightingElement.sfkIdentifer].StyleUnderline = false;
//setup more elements attributes ....
}
private void btnFormatSQL_Click(object sender, EventArgs e)
{
tabControl1.SelectedIndex = 0;
setupformatoptions();
TGSqlParser sqlparser = new TGSqlParser(TDbVendor.DbVMssql);
sqlparser.SqlText.Text = inputsql.Text;
int i = sqlparser.PrettyPrint();
if (i == 0)
{
outputsql.Text = sqlparser.FormattedSqlText.Text;
}
else
{
outputsql.Text = sqlparser.ErrorMessages;
}
}
private void btnFormatSqlToHtml_Click(object sender, EventArgs e)
{
tabControl1.SelectedIndex = 1;
setupformatoptions();
setuphighlighterAttributes();
TGSqlParser sqlparser = new TGSqlParser(TDbVendor.DbVMssql);
sqlparser.SqlText.Text = inputsql.Text;
webBrowser1.DocumentText = sqlparser.ToHtml(TOutputFmt.ofhtml);
}
private void btnFormatSQLInRTF_Click(object sender, EventArgs e)
{
tabControl1.SelectedIndex = 2;
setupformatoptions();
setuphighlighterAttributes();
TGSqlParser sqlparser = new TGSqlParser(TDbVendor.DbVMssql);
sqlparser.SqlText.Text = inputsql.Text;
richTextBox1.Rtf = sqlparser.ToRTF(TOutputFmt.ofrtf);
}
}
}
Download this demo: SQL formatter with source code

