In this article I will explain with an example, how to insert data into database using Dapper library in ASP.Net 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.
 
 

Database

I have made use of the following table Customers with the schema as follows.
Insert using Dapper in ASP.Net
 
Note: You can download the database table SQL by clicking the download link below.
          Download SQL file
 
 

HTML Markup

The following HTML Markup consists of:
TextBox – For capturing Name to be inserted.
DropDownList – For selecting Country name to be inserted.
Button – For inserting the records.
The Button has been assigned with an OnClick event handler.
<table>
    <tr>
        <td>Name:</td>
        <td><asp:TextBox ID="txtName" runat="server"></asp:TextBox></td>
    </tr>
    <tr>
        <td>Country:</td>
        <td><asp:DropDownList ID="ddlCountries" runat="server">
                <asp:ListItem Text="Please select" Value=" "></asp:ListItem>
                <asp:ListItem Text="United States" Value="United States"></asp:ListItem>
                <asp:ListItem Text="India" Value="India"></asp:ListItem>
                <asp:ListItem Text="France" Value="France"></asp:ListItem>
                <asp:ListItem Text="Russia" Value="Russia"></asp:ListItem>
            </asp:DropDownList>
        </td>
    </tr>
    <tr>
        <td></td>
        <td><asp:Button ID="btnInsert" runat="server" Text="Insert" OnClick="OnInsert" /></td>
    </tr>
</table>
 
 

Namespaces

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

Inserting using Dapper in ASP.Net

When Insert button is clicked, first the connection is read from Web.Config file
Note: For more details on how to read connection string from Web.Config file, please refer my article Read or Write Connection Strings in Web.Config file using ASP.Net using C# and VB.Net.
 
Then, using ExecuteScalar method of Dapper library record is inserted into the SQL Server database.
Note: For more details on ExecuteScalar method, please refer my article Understanding Dapper ExecuteScalar in C# and VB.Net.
 
Finally, the CustomerId of the inserted record is fetched and displayed in JavaScript Alert Message Box using RegisterStartupScript method and TextBox and DropDownList value are set to empty.
C#
protected void OnInsert(object sender, EventArgs e)
{
    int customerId;
    string sql = "INSERT INTO Customers (Name, Country) VALUES (@Name, @Country)";
    sql += " SELECT SCOPE_IDENTITY()";
    string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
    using (SqlConnection con = new SqlConnection(constr))
    {
        string name = txtName.Text;
        string country = ddlCountries.SelectedValue;
        customerId = Convert.ToInt32(con.ExecuteScalar(sql, new { name, country }));
    }
    ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Inserted Customer ID: " + customerId + "');", true);
 
    txtName.Text = string.Empty;
    ddlCountries.SelectedValue = string.Empty;
}
 
VB.Net
Protected Sub OnInsert(sender As Object, e As EventArgs)
    Dim customerId As Integer
    Dim sql As String = "INSERT INTO Customers (Name, Country) VALUES (@Name, @Country)"
    sql += " SELECT SCOPE_IDENTITY()"
    Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
    Using con As SqlConnection = New SqlConnection(constr)
        Dim name As String = txtName.Text
        Dim country As String = ddlCountries.SelectedValue
        customerId = Convert.ToInt32(con.ExecuteScalar(sql, New With {name, country}))
    End Using
    ClientScript.RegisterStartupScript(Me.GetType(), "alert", "alert('Inserted Customer ID: " & customerId & "');", True)
 
    txtName.Text = String.Empty
    ddlCountries.SelectedValue = String.Empty
End Sub
 
 

Screenshots

The Form

Insert using Dapper in ASP.Net
 

Record after Insert in database

Insert using Dapper in ASP.Net
 
 

Downloads