Windows Forms: Restore SQL Database Backup in C#
By FoxLearn 6/21/2017 6:08:53 AM 9.66K
Restore SQL Database Backup in C#
Step 1: Click New Project, then select Visual C# on the left, then Windows and then select Windows Forms Application. Name your project "RestoreDatabase" and then click OK
Step 2: Design your form as below
Step 3: Add references to Microsoft.SqlServer.ConnectionInfo, Microsoft.SqlServer.ConnectionInfoExtended, Microsoft.SqlServer.Smo, Microsoft.SqlServer.SmoExtended
Step 4: Add code to handle your form as below
using Microsoft.SqlServer.Management.Common; using Microsoft.SqlServer.Management.Smo; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace RestoreDatabase { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnRestore_Click(object sender, EventArgs e) { progressBar.Value = 0; try { //Init connect to sql database Server dbServer = new Server(new ServerConnection(txtServer.Text, txtUsername.Text, txtPassword.Text)); Restore dbRestore = new Restore() { Database = txtDatabase.Text, Action = RestoreActionType.Database, ReplaceDatabase = true, NoRecovery = false }; dbRestore.Devices.AddDevice(@"C:\Data\Northwind.bak", DeviceType.File); dbRestore.PercentComplete += DbRestore_PercentComplete; dbRestore.Complete += DbRestore_Complete; dbRestore.SqlRestoreAsync(dbServer); } catch(Exception ex) { MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void DbRestore_Complete(object sender, ServerMessageEventArgs e) { if (e.Error != null) { //Update status text lblStatus.Invoke((MethodInvoker)delegate { lblStatus.Text = e.Error.Message; }); } } private void DbRestore_PercentComplete(object sender, PercentCompleteEventArgs e) { //Update percent text & progress bar progressBar.Invoke((MethodInvoker)delegate { progressBar.Value = e.Percent; progressBar.Update(); }); lblPercent.Invoke((MethodInvoker)delegate { lblPercent.Text = $"{e.Percent}%"; }); } } }
VIDEO TUTORIALS
- Windows Forms: Wait Form Dialog in C#
- How to create a Lucky Draw games in C#
- Windows Forms: Youtube Search with Paging in C#
- Windows Forms: Text to speech in C#
- Windows Forms: Print Picture Box in C#
- Windows Forms: Advanced Filter DataGridView in C#
- Windows Forms: Progress Bar in C#
- Windows Forms: How to Create a Random Password Generator in C#
Categories
Popular Posts
Visual Studio: Auto increment version
04/01/2024
What is ARM architecture?
04/01/2024