
[ Полезный рекламный блок ]
Попробуйте свои силы в игре, где ваши навыки программирования на C# станут решающим фактором. Переходите по ссылке 🔰.
Щоб вивести дані з бази даних в ASP.NET, ви можете використовувати такі кроки:
- Встановіть з’єднання з базою даних за допомогою рядка підключення до бази даних. Ви можете визначити рядок підключення у файлі appsettings.json або безпосередньо в коді.
- Створіть SQL-запит для отримання потрібних вам даних із бази даних. Для створення та виконання запиту можна використовувати об’єкт SqlCommand.
- Отримайте дані з бази даних за допомогою об’єкта SqlDataReader.
- Поверніть дані з дії як модель.
- Відобразіть дані в поданні через модель.
Приступимо. Спочатку додамо в проєкт бібліотеку для роботи з Sql базою даних:
| 1 | Microsoft.Data.SqlClient | 
Або через Package Manager Console:
| 1 | Install-Package Microsoft.Data.SqlClient | 
У моєму випадку, таблиця Users, до якої я звертатимуся, визначена таким чином:
| 1 2 3 4 5 6 | CREATE TABLE [dbo].[Users] (     [Id]   INT           IDENTITY (1, 1) NOT NULL,     [Name] NVARCHAR (10) NOT NULL,     [Age]  INT           NOT NULL,     PRIMARY KEY CLUSTERED ([Id] ASC) ); | 
Ось приклад фрагмента коду, який демонструє отримання даних. Вміст контролера HomeController:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | using Microsoft.AspNetCore.Mvc; using Microsoft.Data.SqlClient; namespace WebApplication2.Controllers {     public record User(int Id, string Name, int Age);     public class HomeController : Controller     {         public async Task<IActionResult> Index()         {             List<User> users = new List<User>();             // Define the database connection string             string connectionString = "Data Source=(localdb)\MSSQLLocalDB; Initial Catalog=testdb; Trusted_Connection=True";             // Create a SQL query to retrieve data             string sqlQuery = "SELECT Id,Name,Age FROM Users";             // Create a database connection and command objects             using (SqlConnection connection = new SqlConnection(connectionString))             using (SqlCommand command = new SqlCommand(sqlQuery, connection))             {                 // Open the database connection                 await connection.OpenAsync();                 using (SqlDataReader reader = await command.ExecuteReaderAsync())                 {                     if (reader.HasRows)                     {                         // Read data line by line                         while (await reader.ReadAsync())                         {                             users.Add(new User(reader.GetInt32(0), reader.GetString(1), reader.GetInt32(2)));                         }                     }                 }             }             return View(users);         }     } } | 
Для простоти прикладу, рядок визначається прямо в контролері, в реальних проєктах так робити не варто.
Вміст подання Index.cshtml:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | @using WebApplication2.Controllers; @{     ViewData["Title"] = "Example Page"; } @model IEnumerable<User> <div class="text-center">     <h1 class="display-4">All Users</h1>     <div class="mt-3"></div>     <table class="table">         <thead>             <tr>                 <th>Id</th>                 <th>Name</th>                 <th>Age</th>             </tr>         </thead>         <tbody>             @foreach (User user in Model)             {                 <tr>                     <td>@user.Id</td>                     <td>@user.Name</td>                     <td>@user.Age</td>                 </tr>             }         </tbody>     </table> </div> | 
У підсумку, на сторінці Index.cshtml, ми отримаємо таблицю користувачів:

Як альтернативу, можна використовувати технологію – Entity Framework Core.
Ви програміст-початківець, який хоче вивчити всі тонкощі мови C#?
Пройдіть наш тест на 13 запитань, щоб дізнатися, як багато ви знаєте насправді!
| C# Braincheck | 
Я сподіваюся, що вам сподобалося читати цю статтю, і вона виявилася легкою для розуміння. Будь ласка, дайте мені знати, якщо у вас є якісь коментарі або виправлення.
Так само вам може бути цікава попередня стаття – Як створити веб-сервіс.
Ви хочете навчитися писати код мовою програмування C#?
Створювати різні інформаційні системи, що складаються з сайтів, мобільних клієнтів, десктопних додатків, телеграм-ботів тощо.
Переходьте до нас на сторінку Dijix і ознайомтеся з умовами навчання, ми спеціалізуємося тільки на індивідуальних заняттях, як для початківців, так і для просунутих програмістів. Ви можете взяти як одне заняття для опрацювання питання, що вас цікавить, так і кілька, для більш щільної роботи. Завдяки особистому кабінету, кожен студент підвищить якість свого навчання, у вашому розпорядженні:
- Доступ до пройденого матеріалу
- Тематичні статті
- Бібліотека книг
- Онлайн тестування
- Спілкування в закритих групах


 Завантаження...
Завантаження...







![Як зробити авторизацію в Asp.Net [C#] Як зробити авторизацію в Asp.Net [C#]](https://dijix.com.ua/blog/wp-content/uploads/2023/02/1-min-150x150.jpeg)