Windows Forms: Restore SQL Database Backup in C#
By FoxLearn 6/21/2017 6:08:53 AM 9.75K
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
- How to Use Form Load and Button click Event in C#
- How to use Advanced Filter DataGridView in C#
- How to use TagListControl in C#
- How to use Error Provider in C#
- How to Drag and Drop controls in C#
- How to Create a Random Password Generator in C#
- How to make an Application auto run on Windows startup in C#
- How to Create a Wait Form Dialog in C#
Categories
Popular Posts
C# Tutorial
07/20/2024
How to Download Microsoft SQL Server
06/22/2024
What Are RESTful Web Services?
02/19/2024