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

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

Иногда бывает необходимо определить число и названия полей или подсчитать общее число записей в таблице. Приведенный в листинге 9.4 сценарий TableInfo.js выводит на экран диалоговое окно, где приведены названия всех полей и общее количество записей таблицы Phone.dbf (рис. 9.11).

Рис. 9.11. Информация о полях и записях таблицы Phone

В TableInfo.js для доступа к таблице Phone создается объект Recordset:

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

SSource = "SELECT * FROM Phone";

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

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

SConnect = "DSN=PhoneDS";

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

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

Перед открытием набора записей с помощью метода Open() нужно установить свойство CursorType объекта Recordset равным 3 (при этом создается статическая копия таблицы, что позволяет получить информацию о полях и записях):

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

RS.CursorType = 3;

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

RS.Open(SSource, SConnect);

После этого в коллекции Fields будут содержаться все поля набора записей Recordset, а в свойстве RecordCount — число записей в этом наборе:

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

RS_NomFields = RS.Fields.Count;

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

RS_NomRecs = RS.RecordCount;

В переменной SOut будет формироваться текст для вывода на экран:

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

Для получения списка полей мы перебираем в цикле for все элементы коллекции Fields:

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

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

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

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

}

После завершения цикла к переменной SOut добавляется информация о количестве записей, набор записей RS закрывается и значение переменной SOut выводится на экран:

SOut+=" И "+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+" ПОЛЯ(ЕЙ): ";

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

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

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

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

}

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

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

RS.Close();

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

WScript.Echo(SOut);

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

5.4. Получение информации о файлах

Из книги автора

5.4. Получение информации о файлах Чтение каталога для получения имен файлов лишь половина дела. Получив имя файла, нужно знать, как получить остальную информацию, связанную с файлом, такую, как тип файла, права доступа к нему, владельца и


15.8. Получение информации об отправителе

Из книги автора

15.8. Получение информации об отправителе На рис. 14.4 мы показали другой тип информации, передаваемой через доменный сокет Unix в виде вспомогательных данных: информацию об отправителе, которая передается с помощью структуры cmsgcred, определяемой путем включения заголовочного


Таблицы информации о программе

Из книги автора

Таблицы информации о программе Таблицы этой группы содержат важную информацию о пакете инсталляции, используемую на протяжении всего процесса инсталляции.Состоит эта группа из пяти таблиц: Имя таблицы Краткое описание Property В этой таблице хранятся все свойства 1


Использование NULL в полях внешнего ключа

Из книги автора

Использование NULL в полях внешнего ключа В полях, на основе которых создается внешний ключ, допускается применение NULL-полей. Эта возможность добавлена для разрешения взаимных ссылок. Например, еспи есть две таблицы, ссылающиеся друг на друга с помощью внешних ключей Ьсли


Глава 16 Получение итоговой информации

Из книги автора

Глава 16 Получение итоговой информации В данной главе рассматриваются способы формирования различных отчетных документов на основании операций и документов, внесенных в журнал операций.• Управление бухгалтерскими итогами• Отчеты• Налоговый учет• Пример работы в


Глава 27 Получение итоговой информации

Из книги автора

Глава 27 Получение итоговой информации В этой главе рассматриваются вопросы, связанные с формированием отчетов. Многочисленные отчеты являются хорошими помощниками, помогая бухгалтеру взглянуть на счет с разных сторон.Несомненным достоинством программы является


Еще раз об учетных записях пользователей

Из книги автора

Еще раз об учетных записях пользователей Об учетных записях пользователей уже упоминалось: если компьютером пользуется несколько человек, можно сделать так, что каждый из них будет работать, совершенно не мешая остальным. У разных пользователей могут быть разные права


Получение информации от пользователя

Из книги автора

Получение информации от пользователя Если вам нужна от пользователя более конкретная информация, не укладывающаяся в рамки выбора из трех кнопок, используйте функцию Input Box. Вот ее формальная синтаксическая конструкция, из которой удалены некоторые необязательные


Получение информации о базе данных

Из книги автора

Получение информации о базе данных После того как вы создали базу данных и подтвердили создание (commit), вы можете в isql отобразить ее детали, используя команду SHOW DATABASE:SQL> SHOW DATABASE;Database: /opt/databases/mydatabase.fdbOwner: ADMINUSRPAGE_SIZE 8192Number of DB pages allocated = 176Sweep interval = 20000Forced Writes are ONTransaction - oldest =


4.1. Получение структурированной информации из базы данных

Из книги автора

4.1. Получение структурированной информации из базы данных Это упражнение развивает навыки представления структурных объектов данных и управления ими. Оно показывает также, что Пролог является естественным языком запросов к базе данных.База данных может быть


Общие сведения об учетных записях

Из книги автора

Общие сведения об учетных записях Для выполнения любого действия в среде Windows Vista нужно получить на это право от операционной системы; если пользователь попытается выполнить операцию, на которую у него нет права, он получит сообщение с отказом (рис. 8.2).Для работы