In this article I will explain with an example, how to display data from Database using
ADO.Net in
ASP.Net Core (.Net Core 8)
MVC.
Database
I have made use of the following table Customers with the schema as follows.
I have already inserted few records in the table.
Note: You can download the database table SQL by clicking the download link below.
Namespaces
You will need to import the following namespaces.
using System.Data;
using System.Data.SqlClient;
Controller
The Controller consists of the following Action method.
Action method for handling GET operation
Inside this Action method, the records are fetched from the
Customers Table using
ADO.Net.
The records are inserted into a
DataSet using
SqlDataAdapter class object.
Finally, the
DataSet is returned to the View.
public IActionResult Index()
{
using (DataSet ds = new DataSet())
{
string constr = @"Data Source= .\SQL2019;Initial Catalog= AjaxSamples;uid=sa;pwd=pass@123";
using (SqlConnection con = new SqlConnection(constr))
{
string query = "SELECT * FROM Customers";
using (SqlCommand cmd = new SqlCommand(query, con))
{
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
sda.Fill(ds);
}
}
}
return View(ds);
}
}
View
Inside the View, the
DataSet class is declared as Model for the View.
For displaying the records, an
HTML Table is used. A loop will be executed over the rows of the
DataTable which will generate the
HTML Table rows with the
Customer records.
@using System.Data;
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<table cellpadding="0" cellspacing="0">
<tr>
<th>CustomerId</th>
<th>Name</th>
<th>Country</th>
</tr>
@foreach (DataRow row in Model.Tables[0].Rows)
{
<tr>
<td>@row["CustomerId"]</td>
<td>@row["Name"]</td>
<td>@row["Country"]</td>
</tr>
}
</table>
</body>
</html>
Screenshot
Downloads