Skip to content

Instantly share code, notes, and snippets.

@sunmeat
Last active March 25, 2026 22:29
Show Gist options
  • Select an option

  • Save sunmeat/dc1f7fe4f13e4cc2d2c3b5f110aaacd3 to your computer and use it in GitHub Desktop.

Select an option

Save sunmeat/dc1f7fe4f13e4cc2d2c3b5f110aaacd3 to your computer and use it in GitHub Desktop.
ado net example 3
using System.Data;
using Microsoft.Data.SqlClient;
class Program
{
static void Main()
{
Console.OutputEncoding = System.Text.Encoding.UTF8;
string connectionString = "Server=localhost; Database=Store; Integrated Security=True; TrustServerCertificate=True;";
string query = "SELECT id, name, price FROM Product";
// створення об'єкта DataTable для зберігання даних !!!!! від'єднаний режим !!!!!
var productTable = new DataTable();
// створення підключення
using (var connection = new SqlConnection(connectionString))
{
try
{
// відкриття з'єднання з базою даних
connection.Open();
// створення команди для виконання запиту
using (var command = new SqlCommand(query, connection))
{
// створення адаптера для заповнення DataTable
var dataAdapter = new SqlDataAdapter(command);
// заповнюємо DataTable даними з бази даних
dataAdapter.Fill(productTable);
}
}
catch (Exception ex)
{
Console.WriteLine("Помилка: " + ex.Message);
}
}
// тепер база даних від'єднана, дані знаходяться в DataTable,
// і ми можемо працювати з ними локально
// фільтрація даних за ціною (менше 100 грн)
// var filteredRows = productTable.Select("price < 100"); // не зберігає порядок рядків
var filteredRows = productTable.AsEnumerable()
.Where(row => row.Field<double>("price") < 100)
.OrderBy(row => row.Field<int>("id")) // сортування за id
.ToArray();
// виведення відфільтрованих даних
if (filteredRows.Length > 0)
{
Console.WriteLine("Товари з ціною менше 100 грн:");
foreach (var row in filteredRows)
{
Console.WriteLine($"{row["id"]}, {row["name"]}, {row["price"]} грн.");
}
}
else
{
Console.WriteLine("Немає товарів з ціною менше 100 грн.");
}
Console.ReadLine();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment