- •Принцип гіпертекстової розмітки тексту
- •Групи тегів у html
- •Лабораторні роботи Лабораторна робота № 1 Проста html-сторінка
- •Лабораторна робота № 2 Html-списки, малюнки, html-таблиці
- •Лабораторна робота № 3 Створення нових вікон, фреймів
- •Лаборатора робота № 4 Каскадні таблиці стилю
- •Лабораторна робота № 5 Основи JavaScript
- •Лабораторна робота №6 Використання функцій в JavaScript
- •Лабораторна робота № 7 Створення годинника засобами Java Script
- •Лабораторна робота № 8 Події в Java Script
- •Лабораторна робота № 9 Умовні вирази, оператори присвоювання та порівняння, логічні операції, коментар у Java Script
- •Лабораторна робота № 10 Оператори циклу в Java Script
- •Лабораторна робота № 11 Створення динамічних інтерфейсів засобами Java Script
- •Лабораторна робота № 12 Робота з базами даних засобами Java Script
- •Список літератури
Лабораторна робота № 12 Робота з базами даних засобами Java Script
Приклад: розробити Інтернет сторінку при завантажені якої за бази даних вивантажується зміст однієї з таблиць.
Теоретичні відомості: при розробці реальних сайтів, internet магазинів, каталогів, або просто інформаційної сторінки приватного підприємця інформація, щодо товарів? послуг, структури компанії інформація має зберігатись окремо, а доступ до неї має контролюватись та певним чином обмежуватись. Структура запитів при цьому має бути простою і зрозумілою. Здебільшого інформативна база сайту знаходиться в базі даних Access (тип бази даних може бути інший, відмінності програмного коду будуть полягати лише у підключені відповідного драйверу). При роботі з базою даних основною мовою побудови запитів є мова SQL. Підключення до бази відбувається наступним чином:
ADO.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb", "", "", 0);
де ADO є об’єкт ActiveXObject типу ADODB.Connection.
Запит до БД виконується за допомогою методу Execute(SQL запит). Результатом запиту буде таблиця стовпці якого відповідають заданим у запиті, а строки відповідним кортежам БД. Метод MoveNext() отриманої таблиці інкременує порядковий номер поточного кортежу отриманої таблиці. Властивість EOF отриманої таблиці вказує на кінець кількості кортежів в черзі. Можливості зворотного руху по кортежах отриманої таблиці в JavaScript не передбачено.
Завдання: створити “HTML Application” (*.hta) документ який створює під єднання до існуючої бази даних виконує запит до таблиць та виводить на екран поля таблиць відповідно індивідуального варіанту:
№ п/п |
Варіант завдання <Ім’я_таблиці>.<ім’я_поля> |
№ п/п |
Варіант завдання <Ім’я_таблиці>.<ім’я_поля> |
1 |
Books.Name, Books.Pages |
15 |
Shop.name, Shop.Boss_name |
2 |
Autors.Name, Autors.Date |
16 |
Student.Name, Student.Group |
3 |
Shop.name, Shop.Address |
17 |
Country.Name, Country.Continent |
4 |
Student.Name, Student.b_date |
18 |
Computer.Proprietor, Computer.HDD |
5 |
Country.Name, Country.Amount_People |
19 |
Books.Nname, Books.Publisher |
6 |
Computer.Proprietor, Computer.IP |
20 |
Autors.Name, Autors.Address |
7 |
Books.Name, Books.Autors |
21 |
Shop.name, Shop.Kode |
8 |
Autors.Name, Autors.Surname |
22 |
Student.Name, Student.Course |
9 |
Shop.name, Shop.Tel_numb |
23 |
Country.Name, Country.Language |
10 |
Student.Name, Student.Faculty |
24 |
Computer.Proprietor, Computer.OS |
11 |
Country.Name, Country.Capital |
25 |
Books.Name, Books.Country |
12 |
Computer.Proprietor, Computer.RAM |
26 |
Autors.Name, Autors.Tel_numb |
13 |
Books.Name, Books.Year |
27 |
Shop.name, Shop.Thematic |
14 |
Autors.Name, Autors.m_town |
28 |
Student.Name, Student.Hobby |
Приклад:
<html>
<head>
<script>
function pr_load()
{
var ADO = new ActiveXObject("ADODB.Connection");
var res_str = "";
ADO.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb", "", "", 0);
GR = ADO.Execute("SELECT * FROM table_1");
if(GR.BOF && GR.EOF)
{
WS.Popup("В базі данних відсутні записи.", 60, "Ошибка", 0+48);
window.close();
}
res_str += "<table border = \"1\"><tr><td>Field_1<\/td><td>Field_2<\/td><td>Field_3<\/td><td>Field_4<\/td><\/tr>";
do
{
res_str += "<tr><td>" + GR.Fields(0).Value + "<\/td><td>" + GR.Fields(1).Value + "<\/td><td>" + GR.Fields(2).Value + "<\/td><td>" + GR.Fields(3).Value + "<\/td><\/tr>"
}while(GR.MoveNext(),!GR.EOF);
main_div.innerHTML = res_str;
ADO.Close();
}
</script>
</head>
<body onLoad = "pr_load();">
<form id = "main_form">
<div id = "main_div"></div>
</form>
</body>
</html>
Результати виконання: