Kniga-Online.club

Андрей Попов - Windows Script Host для Windows 2000/XP

Читать бесплатно Андрей Попов - Windows Script Host для Windows 2000/XP. Жанр: Программное обеспечение издательство -, год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

WSHInputBox = InputBox(Message,Title)

End Function

</script>

<script language="JScript">

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

var

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

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

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

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

 Res,      //Результат ввода в диалоговом окне

В SSort,В В В  //РРјСЏ поля таблицы, РїРѕ которому будет производиться сортировка

 SMenu,    //Текст сообщения в диалоговом окне ввода

В s;

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

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

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

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

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

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

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

В switch (Res) {

В case "1": {

В  SSort="LastName";

В  break;

В }

В case "2": {

В  SSort="Phone";

В  break;

В }

В default: {

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

В  WScript.Quit();

В }

}

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

SSource = "SELECT * FROM Phone ORDER BY "+SSort;

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

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

SConnect = "DSN=PhoneDS";

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

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

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

RS.Open(SSource,SConnect);

SOut="Р’РЎР• Р—РђРџРРЎР РР— ТАБЛРЦЫ phone.dbf:n";

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

while (!RS.EOF) {

 //Формируем строку со значениями трех полей, которые разделены

 //символами табуляции

В s=RS.Fields("LastName")+"t"+RS.Fields("Name")+"t"+RS.Fields("Phone");

 //В конце строки ставим символ перевода строки

В s+="n";

 //Добавляем сформированную строку к переменной SOut

В SOut+=s;

 //Переходим к следующей записи

В RS.MoveNext();

}

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

RS.Close();

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

WScript.Echo(SOut);

</script>

</job>

Фильтрация записей в таблице 

Оператор SELECT позволяет выбирать из источника данных не все записи, а лишь те, которые удовлетворяют определенному критерию. Для этой цели в операторе SELECT применяется оператор WHERE. Например, следующий SQL-запрос

SELECT * FROM Phone WHERE (LastName LIKE 'Рџ%')

вернет только те записи таблицы Phone, у которых значение поля LastName начинается на букву 'П' (шаблон '%' означает любое число любых символов).

Мы напишем сценарий FilterRecords.wsf, в котором можно ввести в диалоговом окне один или несколько символов (рис. 9.14) и получить список людей, фамилии которых начинаются с этих символов (рис. 9.15).

Рис. 9.14. Ввод первых символов фамилии для фильтрации записей

Рис. 9.15. Отфильтрованные в сценарии FilterRecords.wsf записи

Как и в сценарии SortRecords.wsf, символы в диалоговом окне вводятся с помощью VBScript-функции WSHInputBox():

//Выводим диалоговое окно для ввода первой буквы фамилии

Res=WSHInputBox("Введите первые буквы фамилии", "Работа с базой данных");

После этого формируется строка с нужным SQL-запросом (переменная SSource) и строка с параметрами соединения с базой данных (переменная SConnect):

//Формируем шаблон, по которому будет производиться фильтрация

SFilt="'"+Res+"%'";

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

SSource = "SELECT * FROM Phone WHERE (LastName LIKE "+SFilt+")";

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

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

SConnect = "DSN=PhoneDS";

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

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

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

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

RS.CursorType = 3;

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

RS.Open(SSource, SConnect);

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

RS_NomRecs = RS.RecordCount;

Если в наборе RS не окажется ни одной записи (нет фамилий, начинающихся на нужные символы), то будет выведено соответствующее сообщение и произойдет выход из сценария:

if (NomRecs==0) {

 WScript.Echo("В таблице Phone нет ни одной фамилии, начинающейся на '"+Res+"'");

В WScript.Quit();

}

Если же подходящие записи найдены, то они, как обычно, обрабатываются в цикле for. В результате формируется строка SOut со значениями полей LastName, Name и Phone для этих записей:

SOut="ВСЕГО "+NomRecs+" Р—РђРџРСЕЙ, РќРђР§РНАЮЩРРҐРЎРЇ РќРђ '"+Res+"':n";

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

while (!RS.EOF) {

 //Формируем строку со значениями трех полей, которые разделены

 //символами табуляции

В s=RS.Fields("LastName")+"t"+RS.Fields("Name")+"t"+ RS.Fields("Phone");

 //В конце строки ставим символ перевода строки

В s+="n";

 //Добавляем сформированную строку к переменной SOut

В SOut+=s;

 //Переходим к следующей записи

В RS.MoveNext();

}

В конце сценария объект Recordset закрывается, а строка SOut выводится на экран:

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

Перейти на страницу:

Андрей Попов читать все книги автора по порядку

Андрей Попов - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


Windows Script Host для Windows 2000/XP отзывы

Отзывы читателей о книге Windows Script Host для Windows 2000/XP, автор: Андрей Попов. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*