In this blog, we will be creating a form in .NET MVC to insert data into a database. We will follow the below steps to achieve our goal:
Step 1: Create a new ASP.NET MVC project
Firstly, create a new ASP.NET MVC project in Visual Studio. Select File > New > Project > Web > ASP.NET Web Application. Give the project a name and select MVC as the project template.
Step 2: Create a model class
Create a new class called Employee with properties Name, Email, Age, and Country. Use the [Required] attribute to make sure that the required fields are filled in by the user. For the Country property, we will be using a dropdown list.
public class Employee
{
[Required]
public string Name { get; set; }
[Required]
public string Email { get; set; }
[Required]
public int Age { get; set; }
[Required]
public string Country { get; set; }
}
Step 3: Create a view
Create a new view by right-clicking on the Views folder and selecting Add > View. Name the view InsertEmployee.cshtml. In the view, create a form that will allow the user to enter the employee details. Use the HTML Helper functions to create the form fields.
@model Employee
@{
ViewBag.Title = "Insert Employee";
}
Insert Employee
@if(!String.IsNullOrEmpty(ViewBag.Message))
{
@ViewBag.Message
}
@using(Html.BeginForm())
{
@Html.LabelFor(m => m.Name)
@Html.TextBoxFor(m => m.Name)
@Html.LabelFor(m => m.Email)
@Html.TextBoxFor(m => m.Email)
@Html.LabelFor(m => m.Age)
@Html.TextBoxFor(m => m.Age)
@Html.LabelFor(m => m.Country)
@Html.DropDownListFor(m => m.Country, new SelectList(new[] {"USA", "Canada", "Mexico"}))
}
Step 4: Create a controller
Create a new controller called EmployeeController. In the controller, create a GET action that will return the view, and a POST action that will handle the form submission.
public class EmployeeController : Controller
{
[HttpGet]
public ActionResult InsertEmployee()
{
return View();
}
[HttpPost]
public ActionResult InsertEmployee(Employee employee)
{
if (ModelState.IsValid)
{
// Insert data into database using ADO.NET
}
else
{
return View(employee);
}
}
public ActionResult Success()
{
return View();
}
}
Step 5: Insert data into the database using ADO.NET
In the POST action of the EmployeeController, use ADO.NET to insert the employee data into the database. First, create a connection to the database using the SqlConnection class. Then, create a SqlCommand object with the SQL query to insert the data. Use the parameters of the SqlCommand object to pass in the employee data. Finally, execute the query using the ExecuteNonQuery method of the SqlCommand object.
[HttpPost]
public ActionResult InsertEmployee(Employee employee)
{
if (ModelState.IsValid)
{
string connectionString = "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=EmployeeDatabase;Integrated Security=True";
string insertQuery = "INSERT INTO Employee(Name, Email, Age, Country) VALUES(@Name, @Email, @Age, @Country)";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(insertQuery, connection);
command.Parameters.AddWithValue("@Name", employee.Name);
command.Parameters.AddWithValue("@Email", employee.Email);
command.Parameters.AddWithValue("@Age", employee.Age);
command.Parameters.AddWithValue("@Country", employee.Country);
connection.Open();
command.ExecuteNonQuery();
}
ViewBag.Message = "Employee data inserted successfully.";
}
else
{
ViewBag.Message = "There are some errors on the page.";
return View(employee);
}
return View();
}
Step 8: Test the application
Build and run the application. Navigate to the InsertEmployee view by going to http://localhost:
/Employee/InsertEmployee. Fill in the form with the employee details and click the Submit button. If the data is valid, you will be redirected to the Success view with a success message. Check the database to make sure that the employee data has been inserted correctly.
Conclusion
In this blog, we have created a form in .NET MVC to insert data into a database using ADO.NET. We have used a model class to bind the data, created a view to display the form, and used a controller to handle the form submission. We have also used ADO.NET to insert the data into the database and returned a success or failure message to the user.