П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 180925 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 79526 раз(а).

Учебник HTML.
Просмотров 76008 раз(а).

Руководство по PHP5.
Просмотров 47044 раз(а).

Хостинг через призму DNS.
Просмотров 54526 раз(а).

Подборка текстов стандартных документов.
Просмотров 46802 раз(а).

Учебник PHP - Самоучитель
Просмотров 53061 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 53680 раз(а).

Внешние атаки...
Просмотров 43370 раз(а).

Учебник PHP.
Просмотров 38889 раз(а).

SSI в примерах.
Просмотров 28773 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Обработка файлов формата DBF

Для взаимодействия с файлами этого формата существует специальный модуль - Xbase.pm На текущий момент поддерживается только возможность чтения таких файлов. Этот модуль подключается стандартным образом: use Xbase;

Новый Xbase объект создается следующим образом:

$database = new Xbase;
Будет создан объект $database, который в дальнейшем будет использоваться для взаимодействия со всевозможными методами, которые поддерживает модуль. Доступ к базе данных осуществляется следующим образом:
$database->open_dbf($dbf_name,$idx_name);
Мы ассоциировали DBF-файл и необязательный индексный файл с объектом. Чтобы определить тип (database type) можно сделать следующее:
print $database->dbf_type;
Вернется строка, которая, если Xbase файл открыт, будет содержать значение DBF3, DBF4 или FOX. Чтобы узнать дату последнего обновления делается следующее:
print $database->last_update;
Возвращает строку с датой.
Чтобы узнать номер последней записи можно сделать следующее:
$end=$database->lastrec;
Вернется номер последней записи в файле с базой данных.
Информацию о статусе базы данных можно посмотреть следующим образом:
$database->dbf_stat;
В стандартный выходной поток будет напечатана информация о статусе и структуре базы данных. Этот метод работает аналогично команде display status.
Посмотреть информацию о статусе индексного файла можно используя метод idx_stat:
$database->idx_stat;
Печатает в стандартный выходной поток (STDOUT) информацию о статусе открытого IDX-файла.
Для того чтобы перейти на начало файла есть метод go_top:
$database->go_top;
Передвигает курсор чтения на физическое начало файла,если индексы не существуют и на первую запись, соответствующую порядку, который задается индексом, в противоположном случае.
Для того чтобы перейти на конец файла есть метод go_bottom:
$database->go_bottom;
Передвигает курсор чтения на физический конец файла,если индексы не существуют и на последнюю запись, соответствующую порядку, который задается индексом, в противоположном случае.
Чтобы перейти на следующую запись есть метод go_next:
$database->go_next;
Эквивалентно команде skip 1, которая передвигает курсор на следующую запись.
Чтобы перейти на предыдущую запись есть метод go_prev:
$database->go_prev;
Эквивалентно команде skip -1, которая передвигает курсор на предыдущую запись.
Есть возможность осуществить поиск по заданному ключу:
$stat=$database->seek($keyvalue);
Эта команда устанавливает курсор на первую запись, соответствующую данному ключу. Но в данном случае база данных должна быть открыта с соответствующим индексом, в противоположном случае будет выдано сообщение об ошибке и исполнение прекратиться. Возвращается значение, содержащее информацию о том, был ключ найден или нет.
Чтобы узнать номер записи, на которой стоит курсор можно использовать следующую команду:
$current_rec=$database->recno;
Метод bof возвращает значение true, если курсор находится в самом начале файла.
if ($database->bof) {

    print " At the very top of the file \n";

}
Аналогично действует метод eof:
if ($database->eof) {

    print " At the very end of the file \n";
}
Чтобы прочитать содержимое какого-либо поля записи можно поступить так:
print $database->get_field("NAME");
Возвращает строку с содержимым поля. Если данная запись помечена для удаления, то использует псевдоимя поля _DELETED.
Чтобы прочитать значения полей записи в массив можно поступить так:
@fields = $database->get_record;
В массиве они будут располагаться в такой же последовательности, как и в базе данных.
Для закрытия базы данных используется метод close_dbf.
$database->close_dbf;
Закрывает файл с базой данных, индексами и комментариями. В завершение приведем небольшой пример программы, которая распечатывает статус базы данных и индексного файла, а также дату последнего обновления и количество записей в базе данных.
#!/usr/bin/perl

use Xbase;
# подключение модуля

$database = new Xbase;
# создание объекта

$d = "/home/smit/employee.dbf";
# имя файла с базой

$i = "/home/smit/employee.cdx";
# имя индексного файла

$database->open_dbf($d,$i);
# открываем базу данных

$database->dbf_stat;
# печатаем статус и структуру
# базы данных

$database->idx_stat;
# печатаем статус и структуру
# индексов

@fields = $database->get_record;
print @fields,"\n";
# печатаем содержимое текущей записи

print $database->last_update, "\n";
# печатаем дату последнего обновления

$end = $database->lastrec;
print $end;
#печатаем номер последней записи

Полная спецификация языка Perl приводиться здесь.

[Назад] [Содержание]



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту: