1: SELECT
Підключитись до бази Книги.mdb і вивести список книг на консоль.
using System;
using System.Data.OleDb;
class Program{
static void Main(){
string cs=@"Provider=Microsoft.ACE.OLEDB.16.0;Data Source=|DataDirectory|\\Книги.mdb";
using(OleDbConnection conn=new OleDbConnection(cs)){
conn.Open();
OleDbCommand cmd=new OleDbCommand("SELECT Id, Назва, Автор FROM Книги", conn);
using(OleDbDataReader r=cmd.ExecuteReader()){
while(r.Read()) Console.WriteLine($"{r["Id"]}|{r["Назва"]}|{r["Автор"]}");
}
}
}
}
2: INSERT
Підключитись до бази Книги.mdb і додати нову книгу.
using System;
using System.Data.OleDb;
class Program{
static void Main(){
string cs=@"Provider=Microsoft.ACE.OLEDB.16.0;Data Source=|DataDirectory|\\Книги.mdb";
using(OleDbConnection conn=new OleDbConnection(cs)){
conn.Open();
OleDbCommand cmd=new OleDbCommand("INSERT INTO Книги (Назва, Автор) VALUES (?, ?)", conn);
cmd.Parameters.AddWithValue("@Назва","Нова книга");
cmd.Parameters.AddWithValue("@Автор","Автор А");
int rows=cmd.ExecuteNonQuery();
Console.WriteLine($"{rows} запис додано");
}
}
}
3: UPDATE
Підключитись до бази Книги.mdb і оновити інформацію про книгу.
using System;
using System.Data.OleDb;
class Program{
static void Main(){
string cs=@"Provider=Microsoft.ACE.OLEDB.16.0;Data Source=|DataDirectory|\\Книги.mdb";
using(OleDbConnection conn=new OleDbConnection(cs)){
conn.Open();
OleDbCommand cmd=new OleDbCommand("UPDATE Книги SET Автор=? WHERE Назва=?", conn);
cmd.Parameters.AddWithValue("@Автор","Новий Автор");
cmd.Parameters.AddWithValue("@Назва","Нова книга");
int rows=cmd.ExecuteNonQuery();
Console.WriteLine($"{rows} запис оновлено");
}
}
}
4: DELETE
Підключитись до бази Книги.mdb і видалити книгу.
using System;
using System.Data.OleDb;
class Program{
static void Main(){
string cs=@"Provider=Microsoft.ACE.OLEDB.16.0;Data Source=|DataDirectory|\\Книги.mdb";
using(OleDbConnection conn=new OleDbConnection(cs)){
conn.Open();
OleDbCommand cmd=new OleDbCommand("DELETE FROM Книги WHERE Назва=?", conn);
cmd.Parameters.AddWithValue("@Назва","Нова книга");
int rows=cmd.ExecuteNonQuery();
Console.WriteLine($"{rows} запис видалено");
}
}
}
5: DataSet / DataAdapter
Підключитись до бази Книги.mdb і зчитати таблицю Книги в памʼять (DataSet),додати новий запис,а потім і зберегти зміни назад у базу даних.
using System;
using System.Data;
using System.Data.OleDb;
class Program{
static void Main(){
string cs=@"Provider=Microsoft.ACE.OLEDB.16.0;Data Source=|DataDirectory|\\Книги.mdb";
using(OleDbConnection conn=new OleDbConnection(cs)){
OleDbDataAdapter adapter=new OleDbDataAdapter("SELECT * FROM Книги", conn);
OleDbCommandBuilder builder=new OleDbCommandBuilder(adapter);
DataSet ds=new DataSet();
adapter.Fill(ds,"Книги");
DataRow row=ds.Tables["Книги"].NewRow();
row["Назва"]="Книга DS"; row["Автор"]="Автор DS";
ds.Tables["Книги"].Rows.Add(row);
adapter.Update(ds,"Книги");
Console.WriteLine("База оновлена через DataSet");
}
}
}
6: DataGridView / Filter
Підключитись до бази Книги.mdb і завантажити дані з таблиці Книги (Access), фільтрувати записи за полем Автор.Показати тільки ті записи, де:поле Автор починається зі слова "Автор",та відобразити результат у DataGridView.
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
class Form1:Form{
DataGridView dgv=new DataGridView();
public Form1(){ this.Load+=Form1_Load; this.Controls.Add(dgv); dgv.Dock=DockStyle.Fill;}
void Form1_Load(object sender,EventArgs e){
string cs=@"Provider=Microsoft.ACE.OLEDB.16.0;Data Source=|DataDirectory|\\Книги.mdb";
OleDbDataAdapter adapter=new OleDbDataAdapter("SELECT * FROM Книги", cs);
DataSet ds=new DataSet();
adapter.Fill(ds,"Книги");
DataView dv=new DataView(ds.Tables["Книги"]);
dv.RowFilter="Автор LIKE 'Автор%'";
dgv.DataSource=dv;
}
}
Тест з ADO.NET (12 питань)
Критерії оцінювання
| Критерій | Бали | Опис |
|---|---|---|
| Виконання завдання | 5 | Програма працює без помилок |
| Якість коду | 3 | Чистий, структурований код |
| Робота з даними | 2 | Правильне використання ADO.NET |
| Оформлення та коментарі | 2 | Зрозумілі коментарі та документація |
| Тест | 12 | Максимальна кількість балів за тест |
Варіанти завдань
Варіант 1
Розробити додаток, який повинен виконувати наступні завдання:
- при натисканні кнопки "Відобразити" в елементі DataGridView відобразити всі дані таблиці Покупці.
- при натисканні кнопки "Країна" в елементі DataGridView відобразити всіх покупців з країни Росія.
- при натисканні кнопки "Видалити" видалити ці записи з бази даних.
- при натисканні кнопки "Вихід" закрити додаток.
Додаток має бути спроектований так, щоб кнопка "Країна" була неактивною доти, доки:
- не буде відображена вся таблиця.
Варіант 2
Розробити додаток, який повинен виконувати наступні завдання:
- при натисканні кнопки "Відобразити" в елементі DataGridView відобразити всі дані таблиці Замовлення.
- при натисканні кнопки "Кількість" в елементі DataGridView відобразити всі замовлення з кількістю більше 100.
- при натисканні кнопки "Додати" додати замовлення своєї улюбленої книги до таблиці.
- при натисканні кнопки "Вихід" закрити додаток.
Додаток має бути спроектований так, щоб кнопка "Кількість" була неактивною доти, доки:
- не буде відображена вся таблиця.
Поле, в яке буде вводитися число, зробити так, щоб у це поле неможливо було ввести нічого, крім цифр.
Варіант 3
Розробити додаток, який повинен виконувати наступні завдання:
- при натисканні кнопки "Відобразити" в елементі DataGridView відобразити всі дані таблиці Книги.
- при натисканні кнопки "Видавництво" в елементі DataGridView відобразити книги видавництва «Художня література».
- при натисканні кнопки "Додати" додати свою улюблену книгу цього видавництва до таблиці.
- при натисканні кнопки "Вихід" закрити додаток.
Додаток має бути спроектований так, щоб кнопка "Видавництво" була неактивною доти, доки:
- не буде відображена вся таблиця.
Варіант 4
Розробити додаток, який повинен виконувати наступні завдання:
- при натисканні кнопки "Відобразити" в елементі DataGridView відобразити всі дані таблиці Книги.
- при натисканні кнопки "Серія" в елементі DataGridView відобразити книги серії «В оригіналі».
- при натисканні кнопки "Видалити" видалити ці записи з бази даних.
- при натисканні кнопки "Вихід" закрити додаток.
Додаток має бути спроектований так, щоб кнопка "Серія" була неактивною доти, доки:
- не буде відображена вся таблиця.
Варіант 5
Розробити додаток, який повинен виконувати наступні завдання:
- при натисканні кнопки "Відобразити" в елементі DataGridView відобразити всі дані таблиці "Спортивна гімнастика".
- при натисканні кнопки "Країна" в елементі DataGridView відобразити всіх гімнастів з країни «Росія».
- при натисканні кнопки "Видалити" видалити їх із таблиці.
- при натисканні кнопки "Змінити" змінити у записі з номером 308 значення поля "Кільця" на 10 (ввести в текстове поле).
- при натисканні кнопки "Вихід" закрити додаток.
Додаток має бути спроектований так, щоб кнопки "Країна" та "Змінити" були неактивними доти, доки:
- не буде відображена вся таблиця.
Варіант 6
Розробити додаток, який повинен виконувати наступні завдання:
- при натисканні кнопки "Відобразити" в елементі DataGridView відобразити всі дані таблиці "Спортивна гімнастика".
- при натисканні кнопки "Країна" в елементі DataGridView відобразити всіх гімнастів з країни «Німеччина».
- при натисканні кнопки "Змінити" змінити у записах з номерами 303 та 305 значення поля "Країна" на Німеччина (ввести в текстове поле).
- при натисканні кнопки "Вихід" закрити додаток.
Додаток має бути спроектований так, щоб кнопки "Країна" та "Змінити" були неактивними доти, доки:
- не буде відображена вся таблиця.