private string Export_GetInsertStatementHeader(RowsDataExportMode rowsExportMode, string tableName, MySqlDataReader rdr)
        {
            StringBuilder sb = new StringBuilder();

            if (rowsExportMode == RowsDataExportMode.Insert)
            {
                sb.Append("INSERT INTO `");
            }
            else if (rowsExportMode == RowsDataExportMode.InsertIgnore)
            {
                sb.Append("INSERT IGNORE INTO `");
            }
            else if (rowsExportMode == RowsDataExportMode.Replace)
            {
                sb.Append("REPLACE INTO `");
            }

            sb.Append(tableName);
            sb.Append("`(");

            for (int i = 0; i < rdr.FieldCount; i++)
            {
                if (i > 0)
                {
                    sb.Append(",");
                }
                sb.Append("`");
                sb.Append(rdr.GetName(i));
                sb.Append("`");
            }

            sb.Append(") VALUES");
            return(sb.ToString());
        }
Example #2
0
        private void btExport_Click(object sender, EventArgs e)
        {
            if (!Program.TargetDirectoryIsValid())
            {
                return;
            }

            txtProgress.Text               = string.Empty;
            _currentTableName              = string.Empty;
            _totalRowsInCurrentTable       = 0;
            _totalRowsInAllTables          = 0;
            _currentRowIndexInCurrentTable = 0;
            _currentRowIndexInAllTable     = 0;
            _totalTables       = 0;
            _currentTableIndex = 0;
            exportMode         = (RowsDataExportMode)comboBox_RowsExportMode.SelectedValue;

            conn           = new MySqlConnection(Program.ConnectionString);
            cmd            = new MySqlCommand();
            cmd.Connection = conn;
            conn.Open();

            timer1.Interval = (int)nmExInterval.Value;
            timer1.Start();

            mb.ExportInfo.IntervalForProgressReport = (int)nmExInterval.Value;

            if (cbGetTotalRowsMode.SelectedIndex < 1)
            {
                mb.ExportInfo.GetTotalRowsMode = GetTotalRowsMethod.InformationSchema;
            }
            else if (cbGetTotalRowsMode.SelectedIndex == 1)
            {
                mb.ExportInfo.GetTotalRowsMode = GetTotalRowsMethod.SelectCount;
            }
            else
            {
                mb.ExportInfo.GetTotalRowsMode = GetTotalRowsMethod.Skip;
            }

            mb.Command = cmd;

            timeStart        = DateTime.Now;
            lbTotalTime.Text = string.Empty;

            bwExport.RunWorkerAsync();
        }
Example #3
0
        private static string Export_GetInsertStatementHeader(RowsDataExportMode rowsExportMode, string tableName,
                                                              MySqlDataReader rdr)
        {
            if (rdr == null)
            {
                throw new ArgumentNullException(nameof(rdr));
            }
            var sb = new StringBuilder();

            switch (rowsExportMode)
            {
            case RowsDataExportMode.Insert:
                sb.Append("INSERT INTO `");
                break;

            case RowsDataExportMode.InsertIgnore:
                sb.Append("INSERT IGNORE INTO `");
                break;

            case RowsDataExportMode.Replace:
                sb.Append("REPLACE INTO `");
                break;
            }

            sb.Append(tableName);
            sb.Append("`(");

            for (var i = 0; i < rdr.FieldCount; i++)
            {
                if (i > 0)
                {
                    sb.Append(",");
                }
                sb.Append("`");
                sb.Append(rdr.GetName(i));
                sb.Append("`");
            }

            sb.Append(") VALUES");
            return(sb.ToString());
        }
Example #4
0
        public void btExport_Click(object sender, EventArgs e)
        {
            Program.Inactive = true;
            this.ButtonClick?.Invoke(this, e);

            btExport.Enabled = false;
            InternalError    = false;

            if (!Program.SilentExport)
            {
                using (var fbd = new FolderBrowserDialog())
                {
                    DialogResult result = fbd.ShowDialog();

                    if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(fbd.SelectedPath))
                    {
                        Program.TargetFile = fbd.SelectedPath;
                    }
                    else
                    {
                        btExport.Enabled = true;
                        Program.Inactive = false;
                        this.ButtonClick?.Invoke(this, e);
                        return;
                    }
                }
            }
            else
            {
                Program.TargetFile = Program.SilentFilePath;
            }

            _currentTableName              = "";
            _totalRowsInCurrentTable       = 0;
            _totalRowsInAllTables          = 0;
            _currentRowIndexInCurrentTable = 0;
            _currentRowIndexInAllTable     = 0;
            _totalTables             = 0;
            _currentTableIndex       = 0;
            exportMode               = RowsDataExportMode.Insert;
            Program.ConnectionString = String.Format("server={0};user={1};pwd={2};database={3};",
                                                     Properties.Settings.Default.Server,
                                                     Properties.Settings.Default.Login,
                                                     Properties.Settings.Default.Password.DecryptString(),
                                                     Properties.Settings.Default.Database);

            try
            {
                conn = new MySqlConnection(Program.ConnectionString);
                cmd  = new MySqlCommand();
                cmd.CommandTimeout = 0;
                cmd.Connection     = conn;
                conn.Open();
            }
            catch
            {
                if (!Program.SilentExport)
                {
                    MessageBox.Show("Не удается подключиться к серверу MySQL, проверьте настройки.", "Ошибка");
                }
                return;
            }

            timer1.Interval = 1000;
            timer1.Start();

            mb.ExportInfo.IntervalForProgressReport = 1000;

            //mb.ExportInfo.GetTotalRowsMode = GetTotalRowsMethod.InformationSchema;
            mb.ExportInfo.GetTotalRowsMode = GetTotalRowsMethod.SelectCount;
            //mb.ExportInfo.GetTotalRowsMode = GetTotalRowsMethod.Skip;

            mb.Command = cmd;

            bwExport.RunWorkerAsync();
        }
Example #5
0
        private string Export_GetInsertStatementHeader(RowsDataExportMode rowsExportMode, string tableName, MySqlDataReader rdr)
        {
            StringBuilder sb = new StringBuilder();

            if (rowsExportMode == RowsDataExportMode.Insert)
                sb.Append("INSERT INTO `");
            else if (rowsExportMode == RowsDataExportMode.InsertIgnore)
                sb.Append("INSERT IGNORE INTO `");
            else if (rowsExportMode == RowsDataExportMode.Replace)
                sb.Append("REPLACE INTO `");

            sb.Append(tableName);
            sb.Append("`(");

            for (int i = 0; i < rdr.FieldCount; i++)
            {
                if (i > 0)
                    sb.Append(",");
                sb.Append("`");
                sb.Append(rdr.GetName(i));
                sb.Append("`");
            }

            sb.Append(") VALUES");
            return sb.ToString();
        }