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()); }
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(); }
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()); }
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(); }
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(); }