Skip to content

Commit e1775fb

Browse files
committed
added option backup tables and rows
added option backup tables and rows
1 parent 321f8c1 commit e1775fb

2 files changed

Lines changed: 86 additions & 6 deletions

File tree

source code/MySqlBackupAll/Form1.Designer.cs

Lines changed: 30 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

source code/MySqlBackupAll/Form1.cs

Lines changed: 56 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public Form1()
3838

3939
private void Bw_ProgressChanged(object sender, ProgressChangedEventArgs e)
4040
{
41-
txtProgress.AppendText(e.UserState+"");
41+
txtProgress.AppendText(e.UserState + "");
4242
txtProgress.Select(txtProgress.Text.Length - 1, 0);
4343
txtProgress.ScrollToCaret();
4444
}
@@ -58,7 +58,7 @@ private void Bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
5858
txtProgress.AppendText("\r\nError:\r\n\r\n");
5959
txtProgress.AppendText(errmsg);
6060
}
61-
61+
6262
txtProgress.Select(txtProgress.Text.Length - 1, 0);
6363
txtProgress.ScrollToCaret();
6464

@@ -80,7 +80,7 @@ private void Bw_DoWork(object sender, DoWorkEventArgs e)
8080
else
8181
DoRestore();
8282
}
83-
catch(Exception ex)
83+
catch (Exception ex)
8484
{
8585
hasError = true;
8686
errmsg = ex.ToString();
@@ -171,6 +171,8 @@ void DoBackup()
171171

172172
using (MySqlBackup mb = new MySqlBackup(cmd))
173173
{
174+
mb.ExportInfo.ExportTableStructure = cbExportTableStructure.Checked;
175+
mb.ExportInfo.ExportRows = cbExportRows.Checked;
174176
mb.ExportToFile(file);
175177
}
176178

@@ -201,7 +203,7 @@ bool LoadData()
201203
txtProgress.Text = "Start at " + timeProcessStart.ToString("yyyy-MM-dd HH:mm:ss ffff") + "\r\n\r\n";
202204
this.Refresh();
203205

204-
if(constr.Length==0)
206+
if (constr.Length == 0)
205207
{
206208
MessageBox.Show("Connection string is not set. Cannot continue.");
207209
return false;
@@ -242,7 +244,7 @@ private void btBackup_Click(object sender, EventArgs e)
242244
return;
243245
}
244246

245-
if(!Directory.Exists(lbFolder.Text))
247+
if (!Directory.Exists(lbFolder.Text))
246248
{
247249
MessageBox.Show("Selected folder is not existed.");
248250
return;
@@ -261,7 +263,7 @@ private void btBackup_Click(object sender, EventArgs e)
261263
private void btSetFolder_Click(object sender, EventArgs e)
262264
{
263265
FolderBrowserDialog fb = new FolderBrowserDialog();
264-
if(fb.ShowDialog() == DialogResult.OK)
266+
if (fb.ShowDialog() == DialogResult.OK)
265267
{
266268
lbFolder.Text = fb.SelectedPath;
267269
}
@@ -275,5 +277,53 @@ DataTable GetTable(MySqlCommand cmd, string sql)
275277
da.Fill(dt);
276278
return dt;
277279
}
280+
281+
void Backup()
282+
{
283+
string connstr = "server=localhost;user=root;pwd=1234;sslmode=none;convertdatetime=true;";
284+
285+
using (MySqlConnection conn = new MySqlConnection(connstr))
286+
{
287+
using (MySqlCommand cmd = new MySqlCommand())
288+
{
289+
using (MySqlBackup mb = new MySqlBackup(cmd))
290+
{
291+
conn.Open();
292+
cmd.Connection = conn;
293+
294+
cmd.CommandText = "show databases;";
295+
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
296+
DataTable dtDbList = new DataTable();
297+
da.Fill(dtDbList);
298+
299+
string defaultFolder = "C:\\backup_folder";
300+
301+
302+
string defaultBackupFolder = "C:\\backup_folder";
303+
string[] files = System.IO.Directory.GetFiles(defaultBackupFolder);
304+
305+
foreach (string file in files)
306+
{
307+
if (file.ToLower().EndsWith(".sql"))
308+
{
309+
string dbName = System.IO.Path.GetFileNameWithoutExtension(file);
310+
311+
cmd.CommandText = "create database if not exists `" + dbName + "`";
312+
cmd.ExecuteNonQuery();
313+
314+
cmd.CommandText = "use `" + dbName + "`";
315+
cmd.ExecuteNonQuery();
316+
317+
mb.ImportFromFile(file);
318+
}
319+
}
320+
321+
conn.Close();
322+
}
278323
}
279324
}
325+
326+
327+
}
328+
}
329+
}

0 commit comments

Comments
 (0)