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

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

Жанры

Windows Script Host для Windows 2000/XP

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

Шрифт:

SOut+="\nИ "+NomRecs+" ЗАПИСЬ(ЕЙ)";

//Закрываем объект Recordset

RS.Close;

//Выводим на экран строку SOut

WScript.Echo(SOut);

Листинг 9.4. Получение информации о полях таблицы

/*******************************************************************/

/* Имя: TableInfo.js */

/* Язык: JScript */

/*
Описание: Получение информации о полях таблицы */

/*******************************************************************/

//Объявляем переменные

var

 RS, //Экземпляр объекта Recordset

 SSource, //Строка с текстом SQL-запроса к БД

 SConnect, //Строка с параметрами соединения с БД

 SOut, //Строка, в которой сохраняется выходная информация

 NomField, //Количество полей в таблице

 NomRecs, //Количество записей в таблице

 i;

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

SSource = "SELECT * FROM Phone";

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

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

SConnect = "DSN=PhoneDS";

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

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

//Задаем статический курсор

RS.CursorType = 3;

//Открываем набор записей-результат запроса

RS.Open(SSource,SConnect);

//Определяем число полей в наборе данных RS

NomFields = RS.Fields.Count;

//Определяем число записей в наборе данных RS

NomRecs = RS.RecordCount;

SOut="ТАБЛИЦА Phone СОДЕРЖИТ "+NomFields+" ПОЛЯ(ЕЙ):\n\n";

//Перебираем все поля набора данных RS

for (i=0; i<RS.Fields.Count; i++) {

 //Формируем строку с номером и именем поля таблицы

 SOut+="Поле N "+i+": "+RS.Fields(i).Name+"\n";

}

SOut+="\nИ "+NomRecs+" ЗАПИСЬ(ЕЙ)";

//Закрываем объект Recordset

RS.Close;

//Выводим на экран строку SOut

WScript.Echo(SOut);

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

Сортировка записей в таблице 

Используя предложение

ORDER BY
в операторе
SELECT
, можно получить из
источника данных записи, отсортированные по какому-либо полю. Например, следующий SQL-запрос

SELECT * FROM Phone ORDER BY LastName

вернет упорядоченный по полю

LastName
набор, содержащий все записи из таблицы Phone (рис. 9.12).

Рис. 9.12. Сортировка записей таблицы Phone по полю LastName

Мы напишем сценарий SortRecords.wsf, с помощью которого можно будет выводить записи из таблицы Phone, отсортированные либо по фамилии (поле

LastName
), либо по телефону (поле
Phone
). Выбор осуществляется с помощью ввода соответствующего значения в диалоговом окне (рис. 9.13).

Рис. 9.13. Выбор поля для сортировки

Само диалоговое окно реализуется с помощью VBScript-функции

WSHInputBox(Message, Title)
:

Function WSHInputBox(Message, Title)

 'Выводим диалоговое окно со строкой ввода

 WSHInputBox = InputBox(Message,Title)

End Function

Эта функция вызывается из написанной на JScript части сценария следующим образом:

//Формируем текст сообщения в диалоговом окне ввода

SMenu="1 - Сортировка по фамилии\n";

SMenu+="2 - Сортировка по телефону\n";

SMenu+="\n\nКоманда:";

//Выводим диалоговое окно для ввода режима сортировки

Res=WSHInputBox(SMenu, "Работа с базой данных");

Введенное в диалоговом окне значение записывается в переменную

Res
и анализируется в операторе
switch
:

//Анализируем введенное значение

switch (Res) {

case "1": {

 SSort="LastName";

 break;

}

case "2": {

 SSort="Phone";

 break;

}

default: {

 WScript.Echo("Вы ввели неправильное значение!");

 WScript.Quit;

}

}

После того как в переменную

SSort
занесено имя поля, по которому нужно производить сортировку, мы можем полностью сформировать нужный SQL-запрос к таблице Phone:

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

Газлайтер. Том 18

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

Секретарь лорда Демона

Лунёва Мария
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Секретарь лорда Демона

Жатва душ. Остров мертвых

Сугралинов Данияр
Фантастика:
боевая фантастика
рпг
5.20
рейтинг книги
Жатва душ. Остров мертвых

Кодекс Крови. Книга ХII

Борзых М.
12. РОС: Кодекс Крови
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Кодекс Крови. Книга ХII

Протокол "Наследник"

Лисина Александра
1. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Протокол Наследник

Найденыш

Шмаков Алексей Семенович
2. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Найденыш

Служанка. Второй шанс для дракона

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Служанка. Второй шанс для дракона

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

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Флеш Рояль

Тоцка Тала
Детективы:
триллеры
7.11
рейтинг книги
Флеш Рояль

Имперский Курьер. Том 2

Бо Вова
2. Запечатанный мир
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Имперский Курьер. Том 2

Громовая поступь. Трилогия

Мазуров Дмитрий
Громовая поступь
Фантастика:
фэнтези
рпг
4.50
рейтинг книги
Громовая поступь. Трилогия

Наследница долины Рейн

Арниева Юлия
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Наследница долины Рейн

Демон

Парсиев Дмитрий
2. История одного эволюционера
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Демон

Ищу жену с прицепом

Рам Янка
2. Спасатели
Любовные романы:
современные любовные романы
6.25
рейтинг книги
Ищу жену с прицепом