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

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

Жанры

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):

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

Геном хищника. Книга четвертая

Гарцевич Евгений Александрович
4. Я - Легенда!
Фантастика:
боевая фантастика
рпг
попаданцы
5.00
рейтинг книги
Геном хищника. Книга четвертая

Хозяин Теней 2

Петров Максим Николаевич
2. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней 2

Вернувшийся: Корпорация. Том III

Vector
3. Вернувшийся
Фантастика:
космическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Вернувшийся: Корпорация. Том III

Блуждающие огни

Панченко Андрей Алексеевич
1. Блуждающие огни
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
Блуждающие огни

Искатель 2

Шиленко Сергей
2. Валинор
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Искатель 2

Источники силы

Amazerak
4. Иной в голове
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Источники силы

Я еще не князь. Книга XIV

Дрейк Сириус
14. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я еще не князь. Книга XIV

Охотник за головами

Вайс Александр
1. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Охотник за головами

Зодчий. Книга I

Погуляй Юрий Александрович
1. Зодчий Империи
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Зодчий. Книга I

Наследник с Меткой Охотника

Тарс Элиан
1. Десять Принцев Российской Империи
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Наследник с Меткой Охотника

Огненный князь 3

Машуков Тимур
3. Багряный восход
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Огненный князь 3

Адвокат Империи 11

Карелин Сергей Витальевич
Адвокат империи
Фантастика:
городское фэнтези
альтернативная история
рпг
дорама
попаданцы
5.00
рейтинг книги
Адвокат Империи 11

Старый, но крепкий

Крынов Макс
1. Культивация без насилия
Фантастика:
рпг
уся
попаданцы
5.00
рейтинг книги
Старый, но крепкий

Спокойный Ваня 2

Кожевников Павел Андреевич
2. Спокойный Ваня
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Спокойный Ваня 2