@@ -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 \n Error:\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