In this article I will explain with an example, how to delete data from database using Dapper library in Windows Forms (WinForms) Application using C# and VB.Net.

Installing Dapper package using Nuget

In order to install Dapper library using Nuget, please refer my article Install Dapper from Nuget in Visual Studio.


I have made use of the following table Customers with the schema as follows.
Delete using Dapper in C# and VB.Net
I have already inserted few records in the table.
Delete using Dapper in C# and VB.Net
Note: You can download the database table SQL by clicking the download link below.
          Download SQL file

Form Design

The following Form consists of:
TextBox – For capturing CustomerId of the Customer record to be deleted.
Button – For deleting the record.
Delete using Dapper in C# and VB.Net


You will need to import the following namespaces.
using Dapper;
using System.Data.SqlClient;
using System.Configuration;
Imports Dapper
Imports System.Data.SqlClient
Imports System.Configuration

Deleting the record using Dapper in Windows Forms

When Delete button is clicked, first the connection string is fetched from App.Config file.
Note: For more details on how to read connection string from App.Config file, please refer my article .Net 4.5: Read (Get) Connection String from App.Config file using C# and VB.Net.
Then, using Execute method of Dapper library record is deleted from the SQL Server database.
Note: For more details on Execute method, please refer my article Understanding Dapper Execute in C# and VB.Net.
Finally, based on whether record is deleted or not, an appropriate message is displayed using MessageBox class.
private void OnDelete(object sender, EventArgs e)
    string sql = "DELETE FROM Customers WHERE CustomerId = @CustomerId";
    string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
    using (SqlConnection con = new SqlConnection(constr))
        int customerId = int.Parse(txtId.Text);
        int i = con.Execute(sql, new { customerId });
        if (i > 0)
            MessageBox.Show("Customer record deleted.");
            MessageBox.Show("Customer not found.");
    txtId.Text = string.Empty;
Private Sub OnDelete(sender As Object, e As EventArgs) Handles btnDelete.Click
    Dim sql As String = "DELETE FROM Customers WHERE CustomerId = @CustomerId"
    Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
    Using con As SqlConnection = New SqlConnection(constr)
        Dim customerId As Integer = Integer.Parse(txtId.Text)
        Dim i As Integer = con.Execute(sql, New With { customerId })
        If i > 0 Then
            MessageBox.Show("Customer record deleted.")
            MessageBox.Show("Customer not found.")
        End If
        txtId.Text = String.Empty
    End Using
End Sub


Delete using Dapper in C# and VB.Net