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:
Поделиться:
Популярные книги
Я еще князь. Книга XX
20. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я спас СССР! том 2
2. Я спас СССР
Фантастика:
альтернативная история
5.62
рейтинг книги
Родословная. Том 3
3. Линия крови
Фантастика:
городское фэнтези
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Убивать чтобы жить 2
2. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Древесный маг Орловского княжества 3
3. Орловское княжество
Фантастика:
аниме
сказочная фантастика
фэнтези
попаданцы
гаремник
5.00
рейтинг книги
Гнев Пламенных
5. Пламенная
Фантастика:
фэнтези
4.80
рейтинг книги
Наследство Карны
3. Книга Дины
Проза:
современная проза
5.00
рейтинг книги
Запечатанный во тьме. Том 1. Тысячи лет кача
1. Хроники Арнея
Фантастика:
уся
эпическая фантастика
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVI
16. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Отмороженный
1. Отмороженный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
На границе империй. Том 7. Часть 2
8. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
6.13
рейтинг книги
Кодекс Крови. Книга ХVII
17. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Черный маг императора 2
2. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
6.00
рейтинг книги
Развод в 45. От любви до ненависти
6. Развод
Любовные романы:
остросюжетные любовные романы
5.40