Чтение онлайн

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

//Инициализируем константы для диалоговых окон

var vbInformation=64,vbOkOnly=0;

//Определение значения тега tgName XML-элемента obj

function GetTagVal(obj, tgName) {

 var ElemList;

 //Создаем коллекцию дочерних для obj элементов, которые

 //задаются тегом tgName

 ElemList=obj.getElementsByTagName(tgName);

 //Проверяем,
есть ли в коллекции ElemList элементы

 if (ElemList.length>0)

//Возвращаем значение тега tgName

return ElemList.item(0).text

 else return "";

}

//Вставка в таблицу одной записи

function PersonToTable(XNode) {

 var SSQL=""; //Переменная для формирования текста SQL-запроса

 //Строим список значений полей добавляемой записи

 SSQL+="'"+GetTagVal(XNode,"LastName")+"',";

 SSQL+="'"+GetTagVal(XNode,"Name")+"',";

 SSQL+="'"+GetTagVal(XNode,"Phone")+"',";

 SSQL+="'"+GetTagVal(XNode,"Street")+"',";

 SSQL+="'"+GetTagVal(XNode,"House")+"',";

 SSQL+="'"+GetTagVal(XNode,"App")+"',";

 SSQL+="'"+GetTagVal(XNode,"Note")+"'";

 //Формируем текст SQL-запроса для вставки записи

 SSQL="INSERT INTO Phone (LastName,Name,Phone,Street,House,App,Notes) VALUES ("+SSQL+")";

 //Выполняем подготовленный SQL-запрос (добавляем запись в таблицу)

 Connect.Execute(SSQL);

}

//Копирование данных из XML-файла в таблицу Phone

function XMLToBase {

 var XML,Root,NomRec,CurrNode,i;

 //Создаем объект XML DOM

 XML = WScript.CreateObject("Msxml.DOMDocument");

 //Загружаем XML-документ из файла

 XML.load(PathBook);

 //Сохраняем в переменной Root ссылку на корневой элемент документа

 Root=XML.documentElement;

 //Перебираем все дочерние элементы первого уровня вложенности

 //для корневого элемента

 for (i=1; i<=Root.childNodes.length-1;i++) {

//Выделяем в коллекции XML-элементов i-й элемент

CurrNode=Root.childNodes.item(i);

//Вставляем новую запись в таблицу Phone

PersonToTable(CurrNode);

 }

}

//Основная запускная функция

function Main {

 //Создаем
объект WshShell

 WshShell = WScript.CreateObject("WScript.Shell");

 //Путь к XML-файлу с данными

 PathBook=WshShell.CurrentDirectory+"\\book.xml";

 //Создаем объект Connection

 Connect=WScript.CreateObject("ADODB.Connection");

 //Формируем строку с параметрами соединения с БД

 //(указываем нужный DSN)

 SConnect="DSN=PhoneDS";

 //Устанавливаем связь с БД

 Connect.Open(SConnect);

 //Копируем данные из XML-файла в таблицу БД

 XMLToBase;

 //Выводим сообщение об окончании переноса данных

 WshShell.Popup("Данные из XML-файла в таблицу перенесены!", 0,

"Работа с базой данных",vbInformation+vbOkOnly);

}

/******************* Начало **********************************/

Main;

/************* Конец *********************************************/

Просмотр записей в таблице 

После того как мы произвели копирование записной книжки в таблицу Phone.dbf, возникает естественное желание просмотреть из сценария введенные записи. Напишем для этой цели сценарий ListRecords1.js, результат работы которого представлен на рис. 9.10.

Рис. 9.10. Записи из таблицы Phone

Основным объектом, позволяющим получить доступ к записям таблицы, является

Recordset
, который представляет собой набор записей, полученных, например, в результате выполнения SQL-запроса. Создается объект
Recordset
следующим образом (экземпляром объекта будет переменная
RS
):

//Создаем объект Recordset

RS=WScript.CreateObject("ADODB.Recordset");

Все строки из таблицы Phone выбираются с помощью следующего SQL- запроса:

SELECT * from Phone

Этот запрос записывается в переменную

SSource
:

//Формируем SQL-запрос к таблице Phone

SSource = "SELECT * FROM Phone";

Для занесения в RS требуемого набора записей используется метод

Open
, в качестве параметров которого указываются две строки. В первой из них должен содержаться SQL-запрос (переменная
SSource
), а во второй — параметры соединения с базой данных (в нашем случае это переменная
SConnect
, в которой записан нужный DSN):

Поделиться:
Популярные книги

Кодекс Охотника. Книга ХХ

Винокуров Юрий
20. Кодекс Охотника
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга ХХ

История государства и права зарубежных стран. Шпаргалки

Князева Светлана Александровна
1. Зачет
Научно-образовательная:
история
юриспруденция
5.00
рейтинг книги
История государства и права зарубежных стран. Шпаргалки

Эпоха Опустошителя. Том VII

Павлов Вел
7. Вечное Ристалище
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Эпоха Опустошителя. Том VII

#Бояръ-Аниме. Газлайтер. Том 11

Володин Григорий Григорьевич
11. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 11

Трон Огня. Дилогия

Мороз Павел Геннадьевич
Фантастика:
фэнтези
6.92
рейтинг книги
Трон Огня. Дилогия

Рассказы. Стихотворения

Киплинг Редьярд Джозеф
Проза:
рассказ
5.00
рейтинг книги
Рассказы. Стихотворения

Том 3. Лица

Замятин Евгений Иванович
3. Собрание сочинений в пяти томах
Проза:
русская классическая проза
5.00
рейтинг книги
Том 3. Лица

В ожидании счастья

Холт Виктория
1. Исповедь королевы
Любовные романы:
исторические любовные романы
6.00
рейтинг книги
В ожидании счастья

Грехи сердца

Сильвер Ева
1. Чуждые
Любовные романы:
любовно-фантастические романы
эро литература
7.81
рейтинг книги
Грехи сердца

Фэнтези-2005

Пехов Алексей Юрьевич
Фантастика:
фэнтези
социально-философская фантастика
героическая фантастика
боевая фантастика
5.71
рейтинг книги
Фэнтези-2005

Обманщик

Башевис-Зингер Исаак
Проза:
современная проза
5.00
рейтинг книги
Обманщик

Гармоничное развитие ребенка

Доман Гленн
Научно-образовательная:
педагогика
5.00
рейтинг книги
Гармоничное развитие ребенка

Толстая

Shinhwa
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Толстая

Трилогия «Хроники Сиалы»

Пехов Алексей Юрьевич
3. В одном томе
Фантастика:
фэнтези
9.47
рейтинг книги
Трилогия «Хроники Сиалы»