Truncate() public method

Clears all stats data from the stats database
public Truncate ( ) : void
return void
 /// <summary>
 /// Clears the stats database of all data
 /// </summary>
 private void ClearStatsBtn_Click(object sender, EventArgs e)
 {
     if (MessageBox.Show(
         "Are you sure you want to clear the stats database? This will ERASE ALL stats data, and cannot be recovered!",
         "Confirm",
         MessageBoxButtons.OKCancel,
         MessageBoxIcon.Warning) == DialogResult.OK)
     {
         try
         {
             using (StatsDatabase Database = new StatsDatabase())
             {
                 Database.Truncate();
             }
             Notify.Show("Database Successfully Cleared!", "All stats have successfully been cleared.", AlertType.Success);
         }
         catch (Exception E)
         {
             MessageBox.Show(
                 "An error occured while clearing the stats database!\r\n\r\nMessage: " + E.Message,
                 "Error",
                 MessageBoxButtons.OK,
                 MessageBoxIcon.Error
             );
         }
     }
 }
        /// <summary>
        /// Imports ASP created BAK files (Mysql Out FILE)
        /// </summary>
        private void ImportASPBtn_Click(object sender, EventArgs e)
        {
            // Open File Select Dialog
            FolderSelectDialog Dialog = new FolderSelectDialog();
            Dialog.Title = "Select ASP Database Backup Folder";
            Dialog.InitialDirectory = Path.Combine(Paths.DocumentsFolder, "Backups");
            if (Dialog.ShowDialog())
            {
                // Get files list from path
                string path = Dialog.SelectedPath;
                string[] BakFiles = Directory.GetFiles(path, "*.bak");
                if (BakFiles.Length > 0)
                {
                    // Open the database connection
                    StatsDatabase Database;
                    try
                    {
                        Database = new StatsDatabase();
                    }
                    catch (Exception Ex)
                    {
                        MessageBox.Show(
                            "Unable to connect to database\r\n\r\nMessage: " + Ex.Message,
                            "Database Connection Error",
                            MessageBoxButtons.OK, MessageBoxIcon.Error
                        );

                        // Stop the ASP server, and close this form
                        ASP.ASPServer.Stop();
                        this.Close();
                        return;
                    }

                    // Show task dialog
                    TaskForm.Show(this, "Importing Stats", "Importing ASP Stats Bak Files...", false);
                    TaskForm.UpdateStatus("Removing old stats data");

                    // Clear old database records
                    Database.Truncate();
                    Thread.Sleep(500);

                    // Begin transaction
                    DbTransaction Transaction = Database.BeginTransaction();

                    // import each table
                    foreach (string file in BakFiles)
                    {
                        // Get table name
                        string table = Path.GetFileNameWithoutExtension(file);

                        // Update progress
                        TaskForm.UpdateStatus("Processing stats table: " + table);

                        // Import table data
                        try
                        {
                            // Sqlite kinda sucks... no import methods
                            if (Database.DatabaseEngine == DatabaseEngine.Sqlite)
                            {
                                string[] Lines = File.ReadAllLines(file);
                                foreach (string line in Lines)
                                {
                                    string[] Values = line.Split('\t');
                                    Database.Execute(
                                        String.Format("INSERT INTO {0} VALUES({1})", table, "\"" + String.Join("\", \"", Values) + "\"")
                                    );
                                }
                            }
                            else
                                Database.Execute(String.Format("LOAD DATA LOCAL INFILE '{0}' INTO TABLE {1};", file.Replace('\\', '/'), table));
                        }
                        catch (Exception Ex)
                        {
                            // Show exception error
                            ExceptionForm Form = new ExceptionForm(Ex, false);
                            Form.Message = String.Format("Failed to import data into table {0}!{2}{2}Error: {1}", table, Ex.Message, Environment.NewLine);
                            DialogResult Result = Form.ShowDialog();

                            // Rollback!
                            TaskForm.UpdateStatus("Rolling back stats data");
                            Transaction.Rollback();

                            // Update message
                            TaskForm.CloseForm();
                            return;
                        }
                    }

                    // Commit the transaction, and alert the user
                    Transaction.Commit();
                    TaskForm.CloseForm();
                    Notify.Show("Stats imported successfully!", "Operation Successful", AlertType.Success);

                    // Displose Connection
                    Database.Dispose();
                }
                else
                {
                    // Alert the user and tell them they failed
                    MessageBox.Show(
                        "Unable to locate any .bak files in this folder. Please select an ASP created database backup folder that contains backup files.",
                        "Backup Error",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error
                    );
                }
            }
        }
        /// <summary>
        /// This method imports a list of .Bak files into the database
        /// </summary>
        /// <param name="BakFiles">A list of Backfiles to import into the database</param>
        /// <param name="Database">The opened database connection</param>
        private void ImportFromBakup(string[] BakFiles, StatsDatabase Database)
        {
            // Clear old database records
            TaskForm.Progress.Report(new TaskProgressUpdate("Removing old stats data"));
            Database.Truncate();

            // Let the database update itself
            Thread.Sleep(500);

            // Begin transaction
            using (DbTransaction Transaction = Database.BeginTransaction())
            {
                // import each table
                foreach (string file in BakFiles)
                {
                    // Get table name
                    string table = Path.GetFileNameWithoutExtension(file);
                    TaskForm.Progress.Report(new TaskProgressUpdate("Processing stats table: " + table));

                    // Import table data
                    try
                    {
                        // Sqlite kinda sucks... no import methods
                        if (Database.DatabaseEngine == DatabaseEngine.Sqlite)
                        {
                            string[] Lines = File.ReadAllLines(file);
                            foreach (string line in Lines)
                            {
                                string[] Values = line.Split('\t');
                                Database.Execute(
                                    String.Format("INSERT INTO {0} VALUES({1})", table, "\"" + String.Join("\", \"", Values) + "\"")
                                );
                            }
                        }
                        else
                            Database.Execute(String.Format("LOAD DATA LOCAL INFILE '{0}' INTO TABLE {1};", file.Replace('\\', '/'), table));
                    }
                    catch (Exception Ex)
                    {
                        // Show exception error
                        using (ExceptionForm Form = new ExceptionForm(Ex, false))
                        {
                            Form.Message = String.Format("Failed to import data into table {0}!{2}{2}Error: {1}", table, Ex.Message, Environment.NewLine);
                            DialogResult Result = Form.ShowDialog();

                            // Rollback!
                            TaskForm.Progress.Report(new TaskProgressUpdate("Rolling back stats data"));
                            Transaction.Rollback();
                            return;
                        }
                    }
                }

                // Commit the transaction
                Transaction.Commit();
            }
        }