Оновлення даних

SqlDataSource надає можливість зміни даних, що містяться в джерелах даних. Для того, щоб скористатися цією можливістю, необхідно визначити відповідні запити, що виконують операції вставки, оновлення і видалення записів. Всі вони створюються по аналогії із запитом Select на основі запиту, що параметризується. Вище вже згадувалося про наявних в SqlDataSource можливостях побудови запитів даного типа. Як приклад додамо можливість зміни даних в сторінку проглядання товарів і замовлень, створену раніше. Для цього виконаємо нижченаведені операції.

Визначимо в SqlDataSource запит на оновлення даних (UpdateQuery). Текст запиту виглядатиме таким чином:

UPDATE Закупівлі SET Датаоперациі = @ДатаОперации, Кількість = @Кількість, Ціна = @Цена, Кодконтрагента = @Контрагент WHERE (Кодоперації = @КодОперації)

При складанні запиту важливо давати імена параметрам так, щоб вони збігалися з іменами стовпців таблиці. Це пояснюється тим, що ASP.NET автоматично відправляє значення параметрам, узятим із стовпців, у яких імена збігаються з іменами параметрів.

У даному прикладі присутня ще одна особливість, яку слід враховувати. Вона полягає в тому, що раніше для зручності відображення даних був використаний запит, в якому відбувається внутрішнє з'єднання даних з таблиць "Контрагенти" і "Закупівлі", - він необхідний для підміни номерів контрагентів їх найменуваннями. Тому при відображенні інформації в GridView ми бачимо найменування контрагентів замість їх номерів. Проте, це створить деякі труднощі при реалізації оновлення даних. Річ у тому, що тепер ми не можемо реалізувати оновлення даних контрагентів, оскільки вони знаходяться в таблиці "Контрагенти", а SqlDataSource пов'язаний з таблицею "Закупівлі". Все, що ми можемо зробити, - це змінити номер поточного контрагента в редагованій операції закупівлі. При цьому необхідно буде вводити не найменування контрагента, а його номер. Саме цим пояснюється наявність в запиті параметра Кодконтрагента = @Контрагент, оновлюючого і нформацію про контрагента поточної операції закупівлі.

Тема 7. Практична реалізація баз даних в інтернеті


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: