Mega Code Archive

 
Categories / C# / ADO Database
 

Sql tools

using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Data.SqlClient;     public class Form1 : System.Windows.Forms.Form     {       private System.Windows.Forms.RichTextBox rtfSql;       private System.Windows.Forms.Splitter splitter1;       private System.Windows.Forms.ListView listViewResult;       private System.Windows.Forms.MainMenu mainMenu1;       private System.Windows.Forms.MenuItem menuItem1;       private System.Windows.Forms.MenuItem menuItemExecute;       private System.Windows.Forms.MenuItem menuItem4;       private System.Windows.Forms.MenuItem menuItemExit;       private SqlCommand mCommand;       private string[] mSqlKeyWords = new string[] {"select","from","where","in","between",               "is","null","not","order by","asc","desc","insert","into","values","update",                "set","delete","truncate","table","join","on","create","drop"};       private System.ComponentModel.Container components = null;       public Form1() {          InitializeComponent();       }       private void InitializeComponent() {          this.rtfSql = new System.Windows.Forms.RichTextBox();          this.splitter1 = new System.Windows.Forms.Splitter();          this.listViewResult = new System.Windows.Forms.ListView();          this.mainMenu1 = new System.Windows.Forms.MainMenu();          this.menuItem1 = new System.Windows.Forms.MenuItem();          this.menuItemExecute = new System.Windows.Forms.MenuItem();          this.menuItem4 = new System.Windows.Forms.MenuItem();          this.menuItemExit = new System.Windows.Forms.MenuItem();          this.SuspendLayout();          //           // rtfSql          //           this.rtfSql.Dock = System.Windows.Forms.DockStyle.Top;          this.rtfSql.Font = new System.Drawing.Font("Courier New", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));          this.rtfSql.Location = new System.Drawing.Point(0, 0);          this.rtfSql.Name = "rtfSql";          this.rtfSql.Size = new System.Drawing.Size(292, 96);          this.rtfSql.TabIndex = 0;          this.rtfSql.Text = "";          //           // splitter1          //           this.splitter1.Dock = System.Windows.Forms.DockStyle.Top;          this.splitter1.Location = new System.Drawing.Point(0, 96);          this.splitter1.Name = "splitter1";          this.splitter1.Size = new System.Drawing.Size(292, 3);          this.splitter1.TabIndex = 1;          this.splitter1.TabStop = false;          //           // listViewResult          //           this.listViewResult.Dock = System.Windows.Forms.DockStyle.Fill;          this.listViewResult.GridLines = true;          this.listViewResult.Location = new System.Drawing.Point(0, 99);          this.listViewResult.Name = "listViewResult";          this.listViewResult.Size = new System.Drawing.Size(292, 173);          this.listViewResult.TabIndex = 2;          this.listViewResult.View = System.Windows.Forms.View.Details;          //           // mainMenu1          //           this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {                                                                                   this.menuItem1});          //           // menuItem1          //           this.menuItem1.Index = 0;          this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {                                                                                   this.menuItemExecute,                                                                                   this.menuItem4,                                                                                   this.menuItemExit});          this.menuItem1.Text = "&Actions";          //           // menuItemExecute          //           this.menuItemExecute.Index = 0;          this.menuItemExecute.Shortcut = System.Windows.Forms.Shortcut.F5;          this.menuItemExecute.Text = "&Execute";          this.menuItemExecute.Click += new System.EventHandler(this.menuItemExecute_Click);          //           // menuItem4          //           this.menuItem4.Index = 1;          this.menuItem4.Text = "-";          //           // menuItemExit          //           this.menuItemExit.Index = 2;          this.menuItemExit.Text = "E&xit";          this.menuItemExit.Click += new System.EventHandler(this.menuItemExit_Click);          //           // frmSql          //           this.AutoScaleBaseSize = new System.Drawing.Size(8, 15);          this.ClientSize = new System.Drawing.Size(292, 272);          this.Controls.Add(this.listViewResult);          this.Controls.Add(this.splitter1);          this.Controls.Add(this.rtfSql);          this.Font = new System.Drawing.Font("Courier New", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));          this.Menu = this.mainMenu1;          this.Name = "frmSql";          this.Text = "SQL Tool";          this.WindowState = System.Windows.Forms.FormWindowState.Maximized;          this.ResumeLayout(false);       }       static void Main() {             Application.Run(new Form1());       }       private void menuItemExecute_Click(object sender, System.EventArgs e)       {          listViewResult.Columns.Clear();          listViewResult.Items.Clear();          string selectedText = rtfSql.SelectedText;          if (selectedText.Length == 0)             selectedText = rtfSql.Text;          if (selectedText.ToLower().IndexOf("select", 0) >= 0)             ExecuteSelect(selectedText);          else             ExecuteNonQuery(selectedText);            }       private void ExecuteSelect(string pText)       {          SqlConnection mConnection = new SqlConnection("server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI");                   try           {             bool first = true;             ListViewItem lvi = null;             mCommand = new SqlCommand(pText, mConnection);             mConnection.Open();             SqlDataReader dr = mCommand.ExecuteReader();             if (dr == null)                 return;             while (dr.Read())              {                if (first)                 {                   for (int i = 0; i < dr.FieldCount; i++)                      listViewResult.Columns.Add( dr.GetName(i).ToString(), 50, HorizontalAlignment.Left );                   first = false;                }                for (int i = 0; i < dr.FieldCount; i++)                 {                   if (i == 0)                      lvi = listViewResult.Items.Add(dr.GetValue(i).ToString());                   else                      lvi.SubItems.Add(dr.GetValue(i).ToString());                }             }          }          catch (System.Exception err)           {             Console.WriteLine(err.Message);          }          finally           {             mConnection.Close();          }       }       private void ExecuteNonQuery(string pText)       {          SqlConnection mConnection = new SqlConnection("server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI");          try           {             int rowsAffected = 0;             mCommand = new SqlCommand(pText, mConnection);             mConnection.Open();             rowsAffected = mCommand.ExecuteNonQuery();             Console.WriteLine(rowsAffected + " row(s) affected");          }          catch (System.Exception err)           {             Console.WriteLine(err.Message);          }          finally           {             mConnection.Close();          }       }       private void menuItemExit_Click(object sender, System.EventArgs e)       {          Application.Exit();        }     }