Example #1
0
        public void ShowViewDDL(TreeView treeView1)
        {
            var dataTable = new DataTable();

            Connection.MySqlConnection.Open();
            MySqlCommand    mySqlCommand = new MySqlCommand("SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = '" + Connection.CurrentUser.Database + "' AND TABLE_NAME = '" + treeView1.SelectedNode.Text + "';", Connection.MySqlConnection);
            MySqlDataReader mySqlReader;

            try
            {
                mySqlReader = mySqlCommand.ExecuteReader();
                if (mySqlReader.HasRows)
                {
                    dataTable.Load(mySqlReader);
                    mySqlReader.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
            Connection.MySqlConnection.Close();

            var sql = "CREATE ALGORITHM=UNDEFINED DEFINER='" + Connection.CurrentUser.Username + "'@'" +
                      Connection.CurrentUser.Server + "'";

            sql += " SQL SECURITY DEFINER VIEW " + treeView1.SelectedNode.Text;
            sql += " AS " + dataTable.Rows[0][0].ToString();
            var form = new DDLView(new UserManager(Connection), sql);

            form.Object     = "View";
            form.Objectname = treeView1.SelectedNode.Text;
            form.Show();
        }
Example #2
0
        public void ShowProccedureDDL(TreeView treeView1)
        {
            var dataTable = new DataTable();

            Connection.MySqlConnection.Open();
            MySqlCommand    mySqlCommand = new MySqlCommand("SELECT  param_list,body  FROM mysql.proc WHERE NAME='" + treeView1.SelectedNode.Text + "' and db = '" + Connection.CurrentUser.Database + "' and type ='PROCEDURE';", Connection.MySqlConnection);
            MySqlDataReader mySqlReader;

            try
            {
                mySqlReader = mySqlCommand.ExecuteReader();
                if (mySqlReader.HasRows)
                {
                    dataTable.Load(mySqlReader);
                    mySqlReader.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
            Connection.MySqlConnection.Close();

            var sql = "CREATE DEFINER='" + Connection.CurrentUser.Username + "'@'" + Connection.CurrentUser.Server +
                      "' PROCEDURE " + treeView1.SelectedNode.Text + "\n (" + Encoding.UTF8.GetString((byte[])dataTable.Rows[0][0]) + ")\n ";

            sql += Encoding.UTF8.GetString((byte[])dataTable.Rows[0][1]) + "\n";
            var form = new DDLView(new UserManager(Connection), sql);

            form.Object     = "PROCEDURE";
            form.Objectname = treeView1.SelectedNode.Text;
            form.Show();
        }
Example #3
0
        public void ShowIndexDDL(TreeView treeView1)
        {
            Console.WriteLine("am a Index");
            var dataTable = new DataTable();

            Connection.MySqlConnection.Open();
            MySqlCommand    mySqlCommand = new MySqlCommand("SELECT NON_UNIQUE,TABLE_NAME,COLUMN_NAME,INDEX_TYPE FROM  INFORMATION_SCHEMA.STATISTICS WHERE INDEX_SCHEMA='" + Connection.CurrentUser.Database + "' AND INDEX_NAME='" + treeView1.SelectedNode.Text + "';", Connection.MySqlConnection);
            MySqlDataReader mySqlReader;

            try
            {
                mySqlReader = mySqlCommand.ExecuteReader();
                if (mySqlReader.HasRows)
                {
                    dataTable.Load(mySqlReader);
                    mySqlReader.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
            Connection.MySqlConnection.Close();

            var sql = " ";

            if (dataTable.Rows[0][0].ToString().Equals("0"))
            {
                sql = "CREATE UNIQUE INDEX";
            }
            else
            {
                sql = "CREATE INDEX";
            }
            sql += " " + treeView1.SelectedNode.Text + "\n";
            sql += "ON " + dataTable.Rows[0][1].ToString();
            sql += "(" + dataTable.Rows[0][2] + ")\n";
            sql += "USING " + dataTable.Rows[0][3].ToString();
            var form = new DDLView(new UserManager(Connection), sql);

            form.Object     = "Index";
            form.Objectname = treeView1.SelectedNode.Text;
            form.tableindex = treeView1.SelectedNode.Parent.Parent.Text;
            form.Show();
        }
Example #4
0
        public void ShowTriggerDDL(TreeView treeView1)
        {
            var dataTable = new DataTable();

            Connection.MySqlConnection.Open();
            MySqlCommand    mySqlCommand = new MySqlCommand("SELECT ACTION_TIMING,EVENT_MANIPULATION,EVENT_OBJECT_TABLE,ACTION_STATEMENT FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_SCHEMA='" + Connection.CurrentUser.Database + "' And TRIGGER_NAME='" + treeView1.SelectedNode.Text + "';", Connection.MySqlConnection);
            MySqlDataReader mySqlReader;

            try
            {
                mySqlReader = mySqlCommand.ExecuteReader();
                if (mySqlReader.HasRows)
                {
                    dataTable.Load(mySqlReader);
                    mySqlReader.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
            Connection.MySqlConnection.Close();

            var sql = "CREATE DEFINER='" + Connection.CurrentUser.Username + "'@'" + Connection.CurrentUser.Server +
                      "' TRIGGER";

            sql += " " + Connection.CurrentUser.Database + "." + treeView1.SelectedNode.Text;
            sql += " " + dataTable.Rows[0][0].ToString();
            sql += " " + dataTable.Rows[0][1].ToString() + " ON";
            sql += " " + dataTable.Rows[0][2].ToString() + " FOR EACH ROW\n";
            sql += " " + dataTable.Rows[0][3].ToString();
            var form = new DDLView(new UserManager(Connection), sql);

            form.Object     = "TRIGGER";
            form.Objectname = treeView1.SelectedNode.Text;
            form.Show();
        }