Beispiel #1
0
        private void explainSelect()
        {
            bool disconnect = false;

            string sql = this.sql;

            if (sql == null && this.composer != null)
            {
                sql = this.composer.getSelect();
            }
            sql = "EXPLAIN " + sql;
            if (!this.db.isConnected())
            {
                disconnect = true;
                this.db.connect();
            }


            this.Data = db.selectAsHash(sql);

            if (disconnect)
            {
                db.disConnect();
            }
        }
Beispiel #2
0
        public void readKeys(MysqlHandler database)
        {
            bool closeConnect = false;

            if (!database.isConnected())
            {
                closeConnect = true;
                database.connect();
            }
            assignValues(database.selectAsHash("SHOW INDEX FROM " + this.tableName));

            if (closeConnect)
            {
                database.disConnect();
            }
        }
Beispiel #3
0
        /// <summary>
        /// Reads all Procedures and updates
        /// the content
        /// </summary>
        /// <param name="database">Used database Connection</param>
        public void getProcedures(MysqlHandler database)
        {
            isError      = false;
            errorMessage = "";
            bool closeConnection = false;

            if (!database.isConnected())
            {
                closeConnection = true;
                database.connect();
            }

            if (database.isConnected())
            {
                // MySql.Data.MySqlClient.MySqlDataReader data = database.sql_select(MysqlProcedures.readQuery);
                List <Hashtable> data = database.selectAsHash(MysqlProcedures.readQuery);

                if (database.lastSqlErrorMessage != "")
                {
                    isError      = true;
                    errorMessage = database.lastSqlErrorMessage;
                    return;
                }

                spList.Clear();
                count    = 0;
                current  = 0;
                isLoaded = false;
                for (int i = 0; i < data.Count; i++)
                {
                    Hashtable       tmpData  = data[i];
                    StoredProcedure tmpStore = new StoredProcedure();
                    count++;
                    isLoaded = true;
                    if (tmpData["Db"] != null)
                    {
                        tmpStore.db = tmpData["Db"].ToString();
                    }
                    if (tmpData["Name"] != null)
                    {
                        tmpStore.name = tmpData["Name"].ToString();
                    }
                    if (tmpData["Type"] != null)
                    {
                        tmpStore.type = tmpData["Type"].ToString();
                    }
                    if (tmpData["Definer"] != null)
                    {
                        tmpStore.definer = tmpData["Definer"].ToString();
                    }
                    if (tmpData["Modified"] != null)
                    {
                        tmpStore.modified = tmpData["Modified"].ToString();
                    }
                    if (tmpData["Created"] != null)
                    {
                        tmpStore.created = tmpData["Created"].ToString();
                    }
                    if (tmpData["Security_type"] != null)
                    {
                        tmpStore.securityType = tmpData["Security_type"].ToString();
                    }
                    if (tmpData["Comment"] != null)
                    {
                        tmpStore.created = tmpData["Comment"].ToString();
                    }
                    getCreate(tmpStore, database);
                    spList.Add(tmpStore);
                }
            }
            else
            {
                throw new Exception("MysqlProcedures: can not connect to Database");
            }

            if (closeConnection)
            {
                database.disConnect();
            }
        }