- •Механізм зворотного виклику DataSnap
- •Керування службами сервера додатків в DataSnap
- •Механізм віддаленого доступу DataSnap
- •Технологія midas, corba
- •Характеристика архітектури «клієнт-сервер»: системна архітектура, клієнти та сервери.
- •Принцип взаємодії між клієнтськими серверними частинами.
- •Переваги протоколів віддаленого виклику процедур.
- •Типовий поділ функцій між клієнтом серверами.
- •Компоненти мережного додатку.
- •Види архітектури за принципом.
- •Типи серверів к-с технологій. Сервер бд.
- •Клієнти та сервери. Типи клієнтів.
- •Рівень користувацького інтерфейса. Рівень обробки. Рівень даних.
- •Огляд архітектури.Net. Структура.Net framework.
- •Організація з’єднання з бд застосування в ado.Net.
- •Особливості виконання операцій у роз’єднаному середовищі
- •Робота з реляційними даними в ado.Net.
- •Компоненти та моделі постачальника ado.Net.
- •Етапи створення застосування з використання ado.Net.
- •Середовище розробки asp. Net.
- •Організація відкриття підключення в ado.Net
- •Особливості виконання операцій оновлення даних у з’єднаному середовищі.
- •Відображення реляційних даних в ado.Net.
- •Причини появи та особливості архітектури ado.Net.
- •Організація управління з’єднанням в ado.Net.
- •Особливості виконання операцій обробки даних у з’єднаному середовищі.
- •Модифікація ієрархічних даних в ado.Net.
- •Транзакція, її характеристики та види.
- •Організація зберігання рядків підключення в ado.Net.
- •Особливості виконання операцій читання даних у з’єднаному середовищі.
- •Відображення даних за допомогою об’єкта DataView в ado.Net.
- •Проміжні точки збереження та вкладені транзакції.
- •Рівні ізоляції транзакції.
- •Протокол soap. Web- сервіси xml.
- •Локальна архітектура. Архітектура «файл-сервер». Архітектура «клієнт сервер»: «товстий клієнт», «тонкий клієнт».
- •Вступ до технології ado. Взаємодія ado і компонентів vcl.
- •Особливості застосування технологій bde та odbc.
- •Рядок з’єднання ado. З’єднання з сховищем данних.
Організація відкриття підключення в ado.Net
Особливості виконання операцій оновлення даних у з’єднаному середовищі.
Дотепер розглядалися запити, в яких параметри рядка запиту відомі наперед. Наприклад, для методу ExecuteNonQuery рядок commandText може мати такий вигляд:
myCommand.CommandText = "UPDATE Туристи SET Прізвище = 'Петренко' WHERE Кодклієнта = 6";
Якщо ми створимо застосування, де користувач вводитиме прізвище і код клієнта, то ми не можемо у процесі виконання програми вказати, які це будуть значення. Логічно запит можна представити приблизно так:
myCommand.CommandText = "UPDATE Клієнти SET Прізвище = 'Якесь прізвище, яке введе користувач' WHERE Кодклієнта = Код, який введе користувач";
Для вирішення таких завдань, які виникли ще на самому початку розробки мови SQL, використовувалися параметрізовані запити. У них невідомі значення замінюються параметрами. Наприклад: myCommand.CommandText = "UPDATE Клієнти SET Прізвище = @Family WHERE Кодклієнта = @ClientID"; Тут @Family (зверніть увагу, пишеться без лапок) – параметр для невідомого значення прізвища, @ClientID –- параметр для невідомого значення коду клієнта. Тепер ми можемо прив'язувати параметри до
тексту, що вводиться користувачем. Щоб виконати запит, що параметризується, в об'єктній моделі ADO.NET, необхідно додати об'єкт Parameter в колекцію Parameters об'єкта Command. Якщо ви використовуєте постачальник даних SQLClient, то як клас Parameter потрібно застосовувати SqlParameter.
Відображення реляційних даних в ado.Net.
У процесі створення застосування розробник обов'язково зіткнеться з ситуацією, коли буде потрібно вивести або програмно звернутися до даних зі зв'язаних таблиць бази даних. Користувачу необхідно забезпечити зручне переміщення між різними таблицями з інформацією. Крім того, їм необхідно редагувати дані. Застосуванням найчастіше
доводиться збирати агрегатні відомості, а при зміні одного запису виконувати зміни в інших, пов'язаних з ним записах (наприклад, коли вилучено замовлення, виникає потреба у видаленні всіх пов'язаних з ним товарів).
Для пошуку дочірніх записів, що пов'язані з батьківським записом в іншому об'єкті DataTable, достатньо викликати метод GetChildRows об'єкта DataRow і передати йому ім'я об'єкта DataRelation, що визначає відношення між об'єктами DataTable. Замість імені можна також передати сам об'єкт DataRelation. Метод GetChildRows повертає зв'язані
дані у вигляді масиву об'єктів DataRow.
Причини появи та особливості архітектури ado.Net.
Організація управління з’єднанням в ado.Net.
Ефективність використання з'єднань істотно залежить від управління процесом підключення до баз даних. При цьому можна використовувати поточний стан з'єднання, який зберігається у властивості State. Ця властивість приймає такі значення типа ConnestionState:
Broken – з'єднання з джерелом даних розірване, подібне може трапитися тільки після того, як з'єднання було встановлено, у цьому випадку з'єднання може бути або закрито, або повторно відкрито;
Closed – з'єднання закрите;
Connecting – триває процес підключення (зарезервовано);
Executing – з'єднання знаходиться у процесі виконання команди (зарезервовано);
Fetching – об'єкт з'єднання зайнятий вибіркою даних (зарезервовано);
Open – з'єднання відкрито.
Застосування, яке мінімізує число одночасно відкритих з'єднань (а значить і навантаження на сервер), здатне поліпшити продуктивність бази даних. ADO.NET передбачає наявність засобу управління з'єднаннями – так званого пулу з'єднань. Організація пулу з'єднань – це процес управління спільними ресурсами, які виділяються з пулу недавно використаних з'єднань. При організації з'єднань враховується, що для
більшості застосувань потрібна установка з'єднання на дуже невелику тривалість часу, тоді як створення і звільнення об'єкта з'єднання є досить коштовной операцієй. Пул з'єднань – це спосіб їх повторного використання. Якщо застосування запитає повторну установку з'єднання, пул надасть йому вже відкрите з'єднання, зекономивши час на звільнення і створення нового об'єкта з'єднання. Реалізація пулу з'єднань відрізняється в кожному з керованих постачальників.
