Программирование >>  Программный интерфейс приложений 

1 ... 241 242 243 [ 244 ] 245 246 247 ... 264


при форматировании заключаются в кавычки, чего нельзя сказать о числовых значениях. (Поэтому заключенные в кавычки числа интерпретируются как строки.) Результатом задания неопределенных значений станет значение undef, а непечатаемые символы отображаются символом . .

Аргумент $maxlen определяет максимальную длину результирующей строки. Если ее длина превышает $maxlen, результат укорачивается до длины $maxlen-4 и дополняется троеточием (...). Если аргумент $maxlen равен О или значению undef, либо вовсе не задан, по умолчанию функция задается как $DBI: : neat maxlen (400).

Не рекомендуется использовать эту функцию для создания запросов. Чтобы выполнить выделение и заключение в кавычки отдельных символов запроса, воспользуйтесь лучше методом quote (). $str = DBI::neat list (\@listref [, $maxlen [, $f ield sep] ]) ; Вызывает функцию neat () для каждого элемента списка, на который указывает первый аргумент, затем объединяет результаты с помощью строки-разделителя $field sep и возвращает результат в виде одной строки.

Аргумент $maxlen определяет максимальную длину для отдельных аргументов, а не результирующей строки, возвращаемой функцией neat().

Если аргумент $field sep не определен, в качестве разделителя по умолчанию используется последовательность , .

Атрибуты интерфейса DBI

Данные атрибутов обеспечиваются на нескольких уровнях интерфейса DBI. Большинство атрибутов связано с дескрипторами баз данных или операторов, однако не с теми и другими одновременно. Некоторые атрибуты, такие, например, как PrintError и RaiseError, могут связываться как с дескрипторами баз данных, так и дескрипторами операторов. В общем, каждый дескриптор имеет свои собственные атрибуты. Некоторые атрибуты, содержащие информацию об ошибках, например, err и errstr, являются динамическими, поскольку всегда связаны с дескриптором, используемым последним.

Общие атрибуты дескрипторов

Общие атрибуты могут применяться к отдельным дескрипторам либо задаваться в аргументе %attr для методов, которые их принимают. Используемые вместе с методом connect () атрибуты влияют глобально на DBI-обработку во всем сценарии.



$h->{ChopBlanks}; Определяет, должны ли методы выборки строк удалять замыкающие пустые символы из значений столбцов типа CHAR. По умолчанию атрибут ChopBlanks деактивизирован для большинства драйверов баз данных, однако для MySQL это все равно не ифает никакой роли, поскольку сервер всегда убирает пустые символы из значений типа char.

$h->{PrintError}; При активизации этого атрибута появление связанной с интерфейсом DBI ошибки приводит к выводу предупреждения. Этот атрибут активизирован по умолчанию.

$h->{RaiseError}; При активизации этого атрибута появление ошибки, связанной с интерфейсом DBL приводит к автоматическому завершению работы сценария. Этот атрибут отключен по умолчанию.

Динамические атрибуты

Динамические атрибуты связаны с используемым последним дескриптором, представленным в последуюших описаниях как $h.

$DBI: : err. Этот вызов аналогичен вызову $h->erг ().

$$DBI: : errstr. Этот вызов аналогичен вызову $h->errstr ().

$DBI: : rows. Этот вызов аналогичен вызову $h->rows ().

Специальные атрибуты дескрипторов баз данных MySQL

Описанные в этом разделе атрибуты используются исключительно для MySQL-драйвера интерфейса DBL dbd: :mysql.

$str = $dbh->{ into }; Этот атрибут содержит ту же информацию, что возврашается API-функцией mysql info() языка С. Для получения более подробной информации обратитесь к описанию этой функции в приложении Е.

$rv = $dbh->{mysql insertid} ; Значение AUTO INCREMENT, которое бьшо сгенерировано последним в соединении, связанном с дескриптором $dbh.

$rv = $dbh->{thread id1; Номер потока соединения, связанного с дескриптором $dbh.



Атрибуты дескрипторов операторов

Атрибуты дескрипторов операторов чаще всего применяются к запросам select (или аналогичного типа) и не действуют без предварительного задания запроса методу prepared для получения дескриптора оператора и для этого запроса не вызывается метод execute (). Кроме того, сделать недействительными некоторые атрибуты операторов может и метод finish().

Многие описанные далее атрибуты имеют значения, которые являются ссылкой на массив значений, по одному значению на столбец запроса. Количество элементов в массиве определяется атрибутом $sth->{num 0f fields } Для атрибутов Оператора stmt attr, который является ссылкой на массив, можно ссылаться на целый массив как на @ {$sth-> { stmt attr}} или последовательно проходить по элементам массива следующим образом:

for (my $1 = 0; $i < $sth->{num of FIelds}; $i++) {

$value = $sth->{stmt attr)->[$i];

$sth->{NAME}; Ссььлка на массив строк, отображающих названия столбцов. Регистр символов названий задается оператором

select.

$sth->{NAME lc); Ссылка на массив строк, отображающих названия столбцов. Возврашаемые названия записаны строчными буквами.

$sth->{NAME uc}; Ссылка на массив строк, отображающих названия столбцов. Возвращаемые названия записаны прописными буквами.

$sth->{NULLABLE}; Ссылка на массив значений, отображающих, может ли каждый столбец содержать значение null. Каждый элемент массива может быть равен О (не может), 1 (может) или 2 (не определено) По крайней мере, так говорится в документации по интерфейсу DBI. Хотя, судя по всему, если столбец не может содержать значения null, реально возвращается пустая строка.

$sth->{NUM 0F FIELDS}; Число столбцов, которое возвратит подготовленный запрос, либо нулевое значение (для операторов, не использующих select).

$sth->(NUM OF PARAMS}; Количество маркеров в подготовленном запросе.

$sth->{PRECISION}; Ссылка на массив значений, отражающих точность каждого столбца. Понятие точность для интерфейса DBI означает то же, что и для ODBC, в то время как в MySQL это значение называется максимальной шириной столбца . Для



1 ... 241 242 243 [ 244 ] 245 246 247 ... 264

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика