Пример #1
0
        internal protected void LoadSchema(int version)
        {
            if (version < 1)
            {
                return;
            }

            MySQLMembershipProvider provider = new MySQLMembershipProvider();
            string      schema = LoadResource($"MySql.Web.Properties.schema{version}.sql");
            MySqlScript script = new MySqlScript(Connection);

            script.Query = schema.ToString();

            try
            {
                script.Execute();
            }
            catch (MySqlException ex)
            {
                if (ex.Number == 1050 && version == 7)
                {
                    // Schema7 performs several renames of tables to their lowercase representation.
                    // If the current server OS does not support renaming to lowercase, then let's just continue.
                    script.Query = "UPDATE my_aspnet_schemaversion SET version=7";
                    script.Execute();
                }
            }
        }
Пример #2
0
        protected void LoadSchema(int version)
        {
            if (version < 1)
            {
                return;
            }

            MySQLMembershipProvider provider = new MySQLMembershipProvider();

            ResourceManager r      = new ResourceManager("MySql.Web.Properties.Resources", typeof(MySQLMembershipProvider).Assembly);
            string          schema = r.GetString(String.Format("schema{0}", version));
            MySqlScript     script = new MySqlScript(conn);

            script.Query = schema;

            try
            {
                script.Execute();
            }
            catch (MySqlException ex)
            {
                if (ex.Number == 1050 && version == 7)
                {
                    // Schema7 performs several renames of tables to their lowercase representation.
                    // If the current server OS does not support renaming to lowercase, then let's just continue.
                    script.Query = "UPDATE my_aspnet_schemaversion SET version=7";
                    script.Execute();
                }
            }
        }
Пример #3
0
        /// <summary>
        /// 手机魔域更新脚本专用
        /// </summary>
        /// <param name="sql"></param>
        /// <returns>成功或者失败</returns>
        public static bool intoSql(string sql)
        {
            var conn = new MySqlConnection(connstr);

            try
            {
                conn.Open();
                var script = new MySqlScript(conn)
                {
                    Query = sql, Delimiter = "//"
                };
                script.Execute();
                //script.Delimiter = "\r\n";
                return(true);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                return(false);
            }
            finally
            {
                conn.Close();
            }
        }
Пример #4
0
 private void ImportButton_Click(object sender, RoutedEventArgs e)
 {
     MessageBox.Show("A sikeres importálás után újra fog indulni az alkalmazás!");
     try
     {
         Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
         dlg.DefaultExt = ".sql";
         dlg.Filter     = "SQL Files (*.sql)|*.sql";
         Nullable <bool> result = dlg.ShowDialog();
         if (result == true)
         {
             // Open document
             string file = dlg.FileName;
             using (conn = new MySqlConnection(File.ReadAllText("config.txt")))
             {
                 conn.Open();
                 var sc = new MySqlScript(conn, File.ReadAllText(file));
                 sc.Execute();
             }
         }
         else
         {
             return;
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Sikertelen importálás: " + ex.ToString());
         return;
     }
     MessageBox.Show("Sikeres importálás!");
     MessageBox.Show("Az alkalmazás újraindul!");
     System.Diagnostics.Process.Start(Application.ResourceAssembly.Location);
     Application.Current.Shutdown();
 }
        public SetUpEntityTests()
            : base()
        {
            // Replace existing listeners with listener for testing.
            Trace.Listeners.Clear();
            Trace.Listeners.Add(this.asertFailListener);

            ResourceManager r      = new ResourceManager("MySql.Data.Entity.Tests.Properties.Resources", typeof(SetUpEntityTests).Assembly);
            string          schema = r.GetString("schema");
            MySqlScript     script = new MySqlScript(conn);

            script.Query = schema;
            script.Execute();

            // now create our procs
            schema           = r.GetString("procs");
            script           = new MySqlScript(conn);
            script.Delimiter = "$$";
            script.Query     = schema;
            script.Execute();

            //ModelFirstModel1
            schema       = r.GetString("ModelFirstModel1");
            script       = new MySqlScript(conn);
            script.Query = schema;
            script.Execute();

            MySqlCommand cmd = new MySqlCommand("DROP DATABASE IF EXISTS `modeldb`", rootConn);

            cmd.ExecuteNonQuery();
        }
Пример #6
0
        public ImportResultSet executeScript()
        {
            ImportResultSet result = new ImportResultSet();

            if (string.IsNullOrWhiteSpace(this.script))
            {
                result.wasSuccessful = false;
                result.errorMessage  = "Script not set";
                return(result);
            }
            try
            {
                MySqlConnection con = new MySqlConnection(connectionString);
                con.Open();

                MySqlScript script = new MySqlScript(con, this.script);
                script.Delimiter          = config.scriptDelimeter;
                script.StatementExecuted += scriptStatementExecuted;
                script.Execute();

                result.wasSuccessful = true;
            }
            catch (Exception ex)
            {
                result.wasSuccessful = false;
                result.errorMessage  = ex.Message;
            }

            return(result);
        }
Пример #7
0
        public static void CreateDatabase(string databaseName, bool deleteifExists = false, string script = null)
        {
            if (script != null)
            {
                if (deleteifExists)
                {
                    script = "Drop database if exists [database0];" + script;
                }

                script = script.Replace("[database0]", databaseName);
                //execute
                using (var cnn = new MySqlConnection(rootConnectionString))
                {
                    cnn.Open();
                    MySqlScript s = new MySqlScript(cnn, script);
                    s.Execute();
                }
            }
            else
            {
                using (var cnn = new MySqlConnection(rootConnectionString))
                {
                    cnn.Open();
                    var cmd = new MySqlCommand(string.Format("Drop database {0}; Create Database {0};", databaseName), cnn);
                    cmd.ExecuteNonQuery();
                }
            }
        }
Пример #8
0
        /// <summary>
        /// Créer et configure la base de donnée <code>dbName</code>
        /// </summary>
        /// <param name="dbconn">Objet de connexion à la base de données</param>
        /// <param name="dbName">Nom de la base de données à créer</param>
        /// <returns></returns>
        public static void SetupDB(MySqlConnection dbconn, string dbName)
        {
            // On essaie de créer la base de données
            try
            {
                // Créer la base de données vide
                MySqlCommand cmd = new MySqlCommand("CREATE DATABASE " + dbName, dbconn);
                dbconn.Open();
                cmd.ExecuteNonQuery();

                // Définie la connexion sur la nouvelle base de données créée précédemment
                dbconn.ChangeDatabase(dbName);

                // Lecture du script en ressources
                Stream       propertiesFile = Assembly.GetExecutingAssembly().GetManifestResourceStream("ProjectManagerCoreLib.data.projectmanager.sql");
                StreamReader reader         = new StreamReader(propertiesFile);
                string       content        = reader.ReadToEnd();

                // Préparation et execution du script
                MySqlScript script = new MySqlScript(dbconn, content);
                script.Error             += new MySqlScriptErrorEventHandler(script_Error);
                script.ScriptCompleted   += new EventHandler(script_ScriptCompleted);
                script.StatementExecuted += new MySqlStatementExecutedEventHandler(script_StatementExecuted);

                script.Execute();
                dbconn.Close();

                connectionString = string.Format("server={0};user={1};pwd={2};database={3}", dbSettings.GetDatabaseServer(), dbSettings.GetUser(), dbSettings.GetPassword(), dbSettings.GetDatabaseName());
                dbConnection     = new MySqlConnection(connectionString);
            }
            // On capture les éventuelle exceptions/erreurs
            catch (Exception ex)
            {
            }
        }
Пример #9
0
        private void Deployment(string path, PublishDeploymentType publishDeploymentType)
        {
            if (string.IsNullOrEmpty(path))
            {
                return;
            }

            InputManager.Instance.WriteInfo($">>>{publishDeploymentType.ToString()}");

            InputManager.Instance.Write($"Read File : {path}");

            var sqlCommand = File.ReadAllText(path);

            if (string.IsNullOrEmpty(path))
            {
                throw new Exception($"File : { path } 내용이 없습니다.");
            }

            using (var connection = new MySqlConnection(_config.SqlConnect))
            {
                connection.Open();
                var command = new MySqlScript(connection, sqlCommand);
                command.Execute();
                connection.Close();
            }
        }
Пример #10
0
        protected override void ExecuteCreateProcedureScript(string script)
        {
            var withDelim = new MySqlScript(this.Connection, script);

            withDelim.Delimiter = "//";
            withDelim.Execute();
        }
Пример #11
0
        //Asynchronous worker is used to read and execute sql script since the file is too large
        private void sqlScript_DoWork(object sender, DoWorkEventArgs e)
        {
            string sqlConnectionString = "";

            connectionStr          = new MySqlConnectionStringBuilder();
            connectionStr.UserID   = username;
            connectionStr.Password = password;
            connectionStr.Server   = "localhost";
            sqlConnectionString    = connectionStr.GetConnectionString(true);
            using (MySqlConnection connDatabase = new MySqlConnection(sqlConnectionString))
            {
                try
                {
                    connDatabase.Open();
                    string      query  = File.ReadAllText("vx.sql");
                    MySqlScript script = new MySqlScript(connDatabase, query);
                    script.Delimiter = ";";
                    script.Execute();
                    connDatabase.Close();
                }
                catch (Exception ex) {
                    MessageBox.Show("vx.sql File not found! Please include it in the application directory and run again.");
                }
            }
        }
Пример #12
0
        public SetUp()
        {
            MySqlConnection con = new MySqlConnection(TestUtils.CONNECTION_STRING_WITHOUT_DB);

            con.Open();

            Assembly executingAssembly = Assembly.GetExecutingAssembly();

            Stream       stream = executingAssembly.GetManifestResourceStream("MySql.Debugger.Tests.Properties.Setup.sql");
            StreamReader sr     = new StreamReader(stream);
            string       sql    = sr.ReadToEnd();

            sr.Close();
            MySqlCommand cmd = new MySqlCommand("drop database if exists test", con);
            MySqlScript  s   = new MySqlScript(con, sql);

            try
            {
                cmd.ExecuteNonQuery();
                cmd.CommandText = "create database test;";
                cmd.ExecuteNonQuery();
                s.Execute();
            }
            finally
            {
                con.Close();
            }
        }
Пример #13
0
        public static void ExecuteScriptFromFile(string filename)
        {
            StreamReader    sr   = new StreamReader(filename);
            MySqlConnection conn = new MySqlConnection();

            conn.ConnectionString = "Database=addr;Data Source=192.168.0.90;Port=3306;User Id=root;Password=Ijhrby22";
            conn.Open();
            MySqlTransaction tran = conn.BeginTransaction();

            string curr_script = "";

            while (!sr.EndOfStream)
            {
                string curr_str = sr.ReadLine();
                if (!curr_str.Contains(";"))
                {
                    curr_script += curr_str + Environment.NewLine;
                }
                else
                {
                    curr_script += curr_str;
                    MySqlScript script = new MySqlScript(conn, curr_script);
                    script.Execute();
                    curr_script = "";
                }
            }
        }
Пример #14
0
        //Сделал максимально просто. По хорошему объединить с настоящим обновлением.
        //Но это усложнит и так не простой код, может здесь вручную выполнять обновления даже лучше.
        void RunOneUpdate(MySqlConnection connection, UpdateHop updateScript)
        {
            if (updateScript.ExecuteBefore != null)
            {
                updateScript.ExecuteBefore(connection);
            }

            string sql;

            using (Stream stream = updateScript.Assembly.GetManifestResourceStream(updateScript.Resource)) {
                if (stream == null)
                {
                    throw new InvalidOperationException(String.Format("Ресурс {0} указанный в обновлениях не найден.", updateScript.Resource));
                }
                StreamReader reader = new StreamReader(stream);
                sql = reader.ReadToEnd();
            }

            var script = new MySqlScript(connection, sql);

            //script.StatementExecuted += Script_StatementExecuted;
            script.Execute();
            var command = connection.CreateCommand();

            command.CommandText = "UPDATE base_parameters SET str_value = @version WHERE name = 'version'";
            command.Parameters.AddWithValue("version", updateScript.Destination.VersionToShortString());
            command.ExecuteNonQuery();
        }
Пример #15
0
        public static void CreateDatabase()
        {
            string      fileLines = File.ReadAllText(Paths.SOLUTION_DIR + "/MapleServer2/Database/SQL/Database.sql");
            MySqlScript script    = new MySqlScript(new MySqlConnection($"SERVER={Server};PORT={Port};USER={User};PASSWORD={Password};"), fileLines.Replace("DATABASE_NAME", Database));

            script.Execute();
        }
 private void button_tesztadatok_Click(object sender, EventArgs e)
 {
     try
     {
         string file = @"..\..\..\latvanyossagokdb(8).sql";
         using (StreamReader sr = new StreamReader(file, Encoding.UTF8))
         {
             Program.conn.Open();
             MySqlScript script = new MySqlScript(Program.conn, sr.ReadToEnd());
             script.Execute();
         }
     }
     catch (IOException ex)
     {
         MessageBox.Show(ex.Message);
     }
     catch (MySqlException myex)
     {
         MessageBox.Show(myex.Message);
     }
     finally
     {
         Program.conn.Close();
     }
     //VaroslistaUpdate();
 }
Пример #17
0
        private void MultipleThreadsWorkerScript(object ev)
        {
            MySqlScript script = new MySqlScript();

            script.Query = "show variables like '%ssl%'";
            (ev as ManualResetEvent).WaitOne();
            string          strConn = GetConnectionString(true) + ";Pooling=true;";
            MySqlConnection c       = new MySqlConnection(strConn);

            int result;

            script.Connection = c;
            try
            {
                for (int i = 0; i < 10; i++)
                {
                    c.Open();
                    result = script.Execute();
                    c.Close();
                }
            }
            catch (InvalidOperationException ioe)
            {
                //Assert.AreEqual("Collection was modified; enumeration operation may not execute.", ioe.Message );
                //Assert.Fail();
                lastException = ioe;
            }
            catch (Exception e)
            {
                lastException = e;
            }
        }
Пример #18
0
        public void Restore(BitnamiRedmineStack stack, DatabaseConfiguration configuration, string path)
        {
            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            try
            {
                if (!File.Exists(path))
                {
                    throw new FileNotFoundException("インポートする sql ファイルが存在しません。", path);
                }

                var connectionString = CreateConnectionString(configuration);

                this._LogService.Info("Create MySqlConnection");
                using (var con = new MySqlConnection(connectionString))
                {
                    var text   = File.ReadAllText(path);
                    var script = new MySqlScript(con, text);

                    this._LogService.Info("Execute MySqlScript");
                    var result = script.Execute();

                    this._LogService.Info($"MySqlScript,Execute returns {result}");
                }
            }
            catch (Exception e)
            {
                this._LogService.Error(e.Message);
                throw;
            }
        }
Пример #19
0
        public void ExecuteScriptWithProcedures()
        {
            if (_fixture.Version < new Version(5, 0))
            {
                return;
            }

            statementCount = 0;
            string scriptText = String.Empty;

            for (int i = 0; i < 10; i++)
            {
                scriptText += String.Format(statementTemplate1, i, "$$");
            }
            MySqlScript script = new MySqlScript(scriptText);

            script.StatementExecuted += new MySqlStatementExecutedEventHandler(ExecuteScriptWithProcedures_QueryExecuted);
            script.Connection         = _fixture.conn;
            script.Delimiter          = "$$";
            int count = script.Execute();

            Assert.Equal(10, count);

            MySqlCommand cmd = new MySqlCommand(
                String.Format(@"SELECT COUNT(*) FROM information_schema.routines WHERE
        routine_schema = '{0}' AND routine_name LIKE 'spTest%'",
                              _fixture.database0), _fixture.conn);

            Assert.Equal(10, Convert.ToInt32(cmd.ExecuteScalar()));
        }
Пример #20
0
        private void DeleteRandom_Click(object sender, EventArgs e)

        {
            DialogResult result = MessageBox.Show(

                "В нашей поликлинике не нужны неудачники!",

                "Увольняем неудачника!",

                MessageBoxButtons.OKCancel,

                MessageBoxIcon.Exclamation);

            if (result == DialogResult.Cancel)

            {
                MessageBox.Show(":(");

                return;
            }

            string sql = "CALL deleteRandom();";

            MySqlScript script = new MySqlScript(connection, sql);

            script.Execute();
        }
Пример #21
0
        private void ExecCommandWithTransaction(string sSql)
        {
            if (sSql.Length > 0)
            {
                //MySql 不支持在存贮过程外使用IF语句,创建一个临时的存贮过程
                string sProcName = "temp_Proc_" + Guid.NewGuid().ToString().Replace('-', '_');

                sSql = "DELIMITER $$ \n"
                       + "DROP PROCEDURE IF EXISTS " + sProcName + " $$ \n"
                       + "CREATE PROCEDURE " + sProcName + " () \n"
                       + "BEGIN \n\n"
                       + sSql
                       + "\n END $$\n"
                       + "DELIMITER ;\n"
                       + "CALL " + sProcName + "();\n"
                       + "DROP PROCEDURE IF EXISTS " + sProcName + "; \n";

                Debug.WriteLine(sSql);

                DbTransaction objTrans = BeginTransaction();
                MySqlScript   script   = new MySqlScript(objTrans.Connection as MySqlConnection, sSql);
                script.Execute();
                //ExecuteNonQuery(objTrans, sSql);
                objTrans.Commit();    //使用事务提交,保证数据完整性
            }
        }
Пример #22
0
        /// <summary>
        /// Drops and creates the database, as to start off with a clean sheet
        /// </summary>
        protected void RefreshDatabaseSchema()
        {
            var         watch  = System.Diagnostics.Stopwatch.StartNew();
            MySqlScript script = new MySqlScript(connector.Connection, File.ReadAllText(Properties.Resources.mysql_generate_schema));

            try
            {
                Logger.Debug("Executing refresh schema script..");
                script.Execute();
            }
            catch (MySqlException e)
            {
                Logger.Error("An error ocurred executing the refresh schema script: " + e);
            }
            finally
            {
                watch.Stop();
            }
            Logger.Info("Refreshed schema in " + watch.ElapsedMilliseconds + "ms " + "(" + (watch.ElapsedMilliseconds / 1000) + "s) ");

            // set autocommit to off
            string       statement = "START TRANSACTION;";
            MySqlCommand com       = new MySqlCommand(statement, connector.Connection);

            com.ExecuteNonQuery();
        }
Пример #23
0
        public void ExecuteScriptNotContinueOnError()
        {
            statementCount = 0;
            string scriptText = String.Empty;

            for (int i = 0; i < 5; i++)
            {
                scriptText += String.Format(statementTemplate2, i, ";");
            }
            scriptText += "bogus statement;";
            for (int i = 5; i < 10; i++)
            {
                scriptText += String.Format(statementTemplate2, i, ";");
            }
            MySqlScript script = new MySqlScript(scriptText);

            script.Connection = _fixture.conn;
            script.Error     += new MySqlScriptErrorEventHandler(ExecuteScript_NotContinueOnError);
            int count = script.Execute();

            Assert.Equal(5, count);
            Assert.Equal(1, statementCount);

            MySqlCommand cmd = new MySqlCommand("SELECT COUNT(*) FROM Test", _fixture.conn);

            Assert.Equal(5, Convert.ToInt32(cmd.ExecuteScalar()));
        }
Пример #24
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("此操作会清空软件中的所有数据,如果有数据,请做好数据备份(导出)!您是否继续?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == System.Windows.Forms.DialogResult.Yes)
            {
                try
                {
                    using (MySqlConnection conn = DBA.MySqlDbAccess.GetMySqlConnection())
                    {
                        conn.Open();

                        string      sql    = File.ReadAllText(System.AppDomain.CurrentDomain.BaseDirectory + "xy.dll", Encoding.GetEncoding("utf-8"));
                        MySqlScript script = new MySqlScript(conn);

                        script.Query = sql;
                        int count = script.Execute();
                    }
                    MessageBox.Show("数据库已更新至最新版本!", "提示");
                    log.Info("执行数据库重置:" + DateTime.Now.ToString());
                    showversion();
                }
                catch (Exception ex)
                {
                    log.Error(ex.ToString());
                }
            }
        }
Пример #25
0
        public bool SqlBatchExec(string stmts, Devart.Common.ScriptErrorEventHandler OnError)
        {
            MySqlConnection dbConn = GetConn();

            try
            {
                MySqlScript myScript = new MySqlScript(stmts, dbConn);
                if (OnError != null)
                {
                    myScript.Error += new Devart.Common.ScriptErrorEventHandler(OnError);
                }
                myScript.Execute();
                if (log.IsDebugEnabled)
                {
                    log.Debug(stmts);
                }
                return(true);
            }
            catch (Exception e)
            {
                log.Error(e.Message + " " + stmts);
                return(false);
            }
            finally
            {
                if (pooled)
                {
                    dbConn.Close();
                }
            }
        }
Пример #26
0
        private bool Base_InnerExecuteScript_Execute(string Script, string sDelimiter, ref int iAffectedRows)
        {
            bool        bReturn = false;
            MySqlScript oScript = null;

            try
            {
                //this.Base_InnerExecuteScript(Script, ref iAffectedRows, ref bReturn);
                if (bReturn == false)
                {
                    try
                    {
                        oScript            = new MySqlScript();
                        oScript.Connection = new MySqlConnection(this.ConnectionString);
                        oScript.Connection.Open();
                        oScript.Query     = Script;
                        oScript.Delimiter = sDelimiter;// Convert.ToString((char)255);
                        iAffectedRows     = oScript.Execute();
                        bReturn           = true;
                    }
                    catch (Exception exInner) { throw new Exception(exInner.Message + (char)13 + (char)13 + Script); }
                }
            }
            catch (Exception ex) { throw ex; }
            finally
            {
                if (oScript != null)
                {
                    oScript.Connection.Dispose();
                    oScript = null;
                }
            }
            return(bReturn);
        }
Пример #27
0
        public void CanCreateDBScriptWithDateTimePrecision()
        {
            if (!Environment.OSVersion.Platform.ToString().StartsWith("Win"))
            {
                Assert.Ignore("Fix for Ubuntu. schema.Rows[3] -> System.IndexOutOfRangeException: There is no row at position 3.");
            }
            if (Version < new Version(5, 6, 5))
            {
                Assert.Ignore("MySQL Server version no compatible");
            }

            using (var ctx = new TestContext(ConnectionString))
            {
                var script  = new MySqlScript(Connection);
                var context = ((IObjectContextAdapter)ctx).ObjectContext;
                script.Query = context.CreateDatabaseScript();
                script.Execute();

                DataTable schema = Connection.GetSchema("COLUMNS", new string[] { null, Connection.Database, "widgets" });

                DataRow row = schema.Rows[3];
                Assert.AreEqual("datetime", row.Field <string>("DATA_TYPE"));
                Assert.AreEqual("NO", row.Field <string>("IS_NULLABLE"));
                if (Version < new Version(8, 0))
                {
                    Assert.AreEqual((uint)6, row.Field <UInt64>("DATETIME_PRECISION"));
                }
                else
                {
                    Assert.AreEqual((uint)6, row.Field <UInt32>("DATETIME_PRECISION"));
                }
            }
        }
Пример #28
0
        public static void Initialize(bool drop = false)
        {
            if (!Initialized)
            {
                if (Connection.State != System.Data.ConnectionState.Open)
                {
                    Connection.Open();
                }

                if (drop)
                {
                    new MySqlCommand($"DROP DATABASE IF EXISTS {database}", Connection).ExecuteNonQuery();
                }

                // Set up the database
                new MySqlCommand($"CREATE DATABASE IF NOT EXISTS {database}; USE bank_system;", Connection).ExecuteNonQuery();

                if (drop)
                {
                    MySqlScript script = new MySqlScript(Connection, File.ReadAllText(databaseScript));
                    script.Execute();
                    // call the create_Defaults procedure
                    new MySqlCommand("call create_defaults()", Connection).ExecuteNonQuery();
                }

                Initialized = true;
            }
        }
Пример #29
0
 private void button1_Click(object sender, EventArgs e)
 {
     if (textBox1.Text != "")
     {
         if (int.Parse(textBox1.Text) == Account.verificationCode)
         {
             try
             {
                 string      query  = $"INSERT INTO accounts (Nickname,Name,Surname,Email,Password,Gender,Date,Admin,Online) VALUES ('{Account.nickname}','{Account.name}','{Account.surname}','{Account.email}','{Account.password}','{Account.gender}','{Account.date}','User','Offline')";
                 MySqlScript script = new MySqlScript(DbConnector.conn, query);
                 int         count  = script.Execute();
                 MessageBox.Show("Account has been Registered!");
                 DbConnector.conn.Close();
                 var auth = new AuthForm();
                 auth.Show();
                 this.Close();
             }
             catch
             {
                 MessageBox.Show("Registration Error");
             }
         }
         else
         {
             MessageBox.Show("Incorrect verification code");
         }
     }
     else
     {
         MessageBox.Show("Fill the code");
     }
 }
Пример #30
0
        private void RefreshList()
        {
            int prodId = 0;

            ProductListBox.Items.Clear();
            MySqlCommand mysql_query = DbConnector.conn.CreateCommand();

            mysql_query.CommandText = $"SELECT ID,Name,Quantity FROM Warehouse";
            MySqlDataReader mysql_result;

            mysql_result = mysql_query.ExecuteReader();
            while (mysql_result.Read())
            {
                int tmpInt = int.Parse(mysql_result.GetString(2).ToString());
                if (tmpInt != 0)
                {
                    ProductListBox.Items.Add(mysql_result.GetString(0).ToString() + " " + " " + mysql_result.GetString(1).ToString() + " - " + " " + mysql_result.GetString(2).ToString());
                }
                else
                {
                    prodId = int.Parse(mysql_result.GetString(0).ToString());
                }
            }
            mysql_result.Close();
            if (prodId != 0)
            {
                string      query  = $"DELETE FROM Warehouse WHERE ID = '{prodId}'";
                MySqlScript script = new MySqlScript(DbConnector.conn, query);
                int         count  = script.Execute();
            }
        }
 public void EmptyLastLineWithScriptExecute()
 {
     StringBuilder sb = new StringBuilder();
     sb.AppendLine("DROP FUNCTION IF EXISTS `BlaBla`;");
     sb.AppendLine("DELIMITER ;;");
     MySqlScript script = new MySqlScript(conn, sb.ToString());
     // InvalidOperationException : The CommandText property has not been properly initialized.
     script.Execute();
 }
Пример #32
0
        public void DelimiterInScriptV2()
        {
            StringBuilder sql = new StringBuilder();

              sql.AppendLine("DELIMITER MySuperDelimiter");
              sql.AppendLine("CREATE PROCEDURE TestProcedure1()");
              sql.AppendLine("BEGIN");
              sql.AppendLine("  SELECT * FROM mysql.proc;");
              sql.AppendLine("END MySuperDelimiter");
              sql.AppendLine("CREATE PROCEDURE TestProcedure2()");
              sql.AppendLine("BEGIN");
              sql.AppendLine("  SELECT * FROM mysql.proc;");
              sql.AppendLine("END mysuperdelimiter");

              sql.AppendLine("DELIMITER ;");

              MySqlScript script = new MySqlScript(conn, sql.ToString());
              script.Execute();
        }
Пример #33
0
        public void ExecuteScriptWithProcedures()
        {
            if (version < new Version(5, 0)) return;

            statementCount = 0;
            string scriptText = String.Empty;
            for (int i=0; i < 10; i++)
            {
                scriptText += String.Format(statementTemplate1, i, "$$");
            }
            MySqlScript script = new MySqlScript(scriptText);
            script.StatementExecuted += new MySqlStatementExecutedEventHandler(ExecuteScriptWithProcedures_QueryExecuted);
            script.Connection = conn;
            script.Delimiter = "$$";
            int count = script.Execute();
            Assert.AreEqual(10, count);

            MySqlCommand cmd = new MySqlCommand(
                String.Format(@"SELECT COUNT(*) FROM information_schema.routines WHERE
                routine_schema = '{0}' AND routine_name LIKE 'spTest%'",
                database0), conn);
            Assert.AreEqual(10, cmd.ExecuteScalar());
        }
    public void ScriptWithDelimiterStatements()
    {
      if (Version < new Version(5, 0)) return;

      StringBuilder sql = new StringBuilder();

      sql.AppendFormat("{0}DELIMITER $${0}", Environment.NewLine);
      sql.AppendFormat(statementTemplate1, 1, "$$");
      sql.AppendFormat("{0}DELIMITER //{0}", Environment.NewLine);
      sql.AppendFormat(statementTemplate1, 2, "//");

      MySqlScript s = new MySqlScript();
      s.Query = sql.ToString();
      s.Delimiter = "XX";
      s.Connection = conn;
      int count = s.Execute();
    }
 public void DelimiterCommandDoesNotThrow()
 {
   MySqlScript script = new MySqlScript(conn, "DELIMITER ;");
   Assert.DoesNotThrow(delegate { script.Execute(); });
 }
Пример #36
0
        public void ExecuteScriptNotContinueOnError()
        {
            statementCount = 0;
            string scriptText = String.Empty;
            for (int i = 0; i < 5; i++)
                scriptText += String.Format(statementTemplate2, i, ";");
            scriptText += "bogus statement;";
            for (int i = 5; i < 10; i++)
                scriptText += String.Format(statementTemplate2, i, ";");
            MySqlScript script = new MySqlScript(scriptText);
            script.Connection = conn;
            script.Error += new MySqlScriptErrorEventHandler(ExecuteScript_NotContinueOnError);
            int count = script.Execute();
            Assert.AreEqual(5, count);
            Assert.AreEqual(1, statementCount);

            MySqlCommand cmd = new MySqlCommand("SELECT COUNT(*) FROM Test", conn);
            Assert.AreEqual(5, cmd.ExecuteScalar());
        }
Пример #37
0
        public void ExecuteScriptWithInserts()
        {
            statementCount = 0;
            string scriptText = String.Empty;
            for (int i = 0; i < 10; i++)
            {
                scriptText += String.Format(statementTemplate2, i, ";");
            }
            MySqlScript script = new MySqlScript(scriptText);
            script.Connection = conn;
            script.StatementExecuted += new MySqlStatementExecutedEventHandler(ExecuteScriptWithInserts_StatementExecuted);
            int count = script.Execute();
            Assert.AreEqual(10, count);

            MySqlCommand cmd = new MySqlCommand("SELECT COUNT(*) FROM Test", conn);
            Assert.AreEqual(10, cmd.ExecuteScalar());
        }
Пример #38
0
 public void ExecuteScriptWithUserVariables()
 {
     string connStr = conn.ConnectionString.ToLowerInvariant();
     connStr = connStr.Replace("allow user variables=true",
         "allow user variables=false");
     using (MySqlConnection c = new MySqlConnection(connStr))
     {
         c.Open();
         string scriptText = "SET @myvar = 1";
         MySqlScript script = new MySqlScript(scriptText);
         script.Connection = c;
         int count = script.Execute();
         Assert.AreEqual(1, count);
     }
 }
Пример #39
0
        private void MultipleThreadsWorkerScript(object ev)
        {
            MySqlScript script = new MySqlScript();
              script.Query = "show variables like '%ssl%'";
              (ev as ManualResetEvent).WaitOne();
              string strConn = GetConnectionString(true) + ";Pooling=true;";
              MySqlConnection c = new MySqlConnection(strConn);

              int result;
              script.Connection = c;
              try
              {
            for (int i = 0; i < 10; i++)
            {
              c.Open();
              result = script.Execute();
              c.Close();
            }
              }
              catch (InvalidOperationException ioe)
              {
            //Assert.AreEqual("Collection was modified; enumeration operation may not execute.", ioe.Message );
            //Assert.Fail();
            lastException = ioe;
              }
              catch (Exception e)
              {
            lastException = e;
              }
        }
Пример #40
0
 protected void ExecuteSQLAsRoot(string sql)
 {
     MySqlScript s = new MySqlScript(rootConn, sql);
     s.Execute();
 }