Функция DBGETPROP( )

Возвращает свойство текущей базы данных, или свойство поля, именованного соединения, таблицы или представления текущей базы данных.

Синтаксис:

DBGETPROP(cName, cType, cProperty)

Параметры:
cName
Задает имя базы данных, поля, именованного соединения, таблицы или представления, для которого функция DBGETPROP( ) возвращает информацию.

Чтобы получить информацию о поле в таблице или представлении, поставьте перед именем поля имя содержащей его таблицы или представления. Например, чтобы возвратить информацию о поле custid в таблице customer, задайте в качестве cName следующее:

customer.custid

cType
Указывает, что собой представляет cName текущую базу данных или поле, именованное соединение, таблицу или представление в текущей базе данных. В следующей таблице перечислены значения, которые можно задать в качестве cType.

cType		Описание
CONNECTION	cName  именованное соединение в текущей базе данных.
DATABASE		cName  текущая база данных.
FIELD		cName  поле в текущей базе данных.
TABLE		cName  таблица в текущей базе данных.
VIEW		cName  представление в текущей базе данных.

cProperty
Задает имя свойства, для которого функция DBGETPROP( ) возвращает информацию. В приведенных ниже таблицах перечислены значения, которые можно указывать в качестве cProperty, типы возвращаемых значений и описания всех свойств. В каждом описании указываются привилегии на выполнение чтения и записи для данного свойства. Если для свойства разрешено только чтение, его значение нельзя изменить функцией DBSETPROP( ). Подробнее об изменении значений свойств см. DBSETPROP( ).

Свойства соединений:

cPropertyТипОписание
AsynchronousLРежим соединения."Ложь" (.F.) задает синхронное соединение (по умолчанию)."Истина" (.T.) задает асинхронное соединение.Чтение/запись.
BatchModeLРежим пакетной обработки."Истина" (.T.) задает соединение, работающее в пакетном режиме (по умолчанию).Чтение/запись.
CommentCТекст комментария для соединения.Чтение/запись.
ConnectStringCСтрока входа в соединение.Чтение/запись.
ConnectTimeoutNИнтервал тайм-аута для соединения в секундах. По умолчанию принимается значение 0 (неопределенно долгое ожидание).Чтение/запись.
DataSourceCИмя источника данных, которое определено в файле ODBC.INI.Чтение/запись.
DispLoginNСодержит числовое значение, определяющее, когда отображается диалоговое окно ODBC Login. DispLogin может принимать следующие значения: 1 или DB_PROMPTCOMPLETE (из VISUAL FOXPRO.H). 1 используется по умолчанию. 2 или DB_PROMPTALWAYS (из VISUAL FOXPRO.H). 3 или DB_PROMPTNEVER (из VISUAL FOXPRO.H). Если задано 1 или DB_PROMPTCOMPLETE, Visual FoxPro отображает диалоговое окно ODBC Login только в том случае, если отсутствует какая-то нужная информация. Если задано 2 или DB_PROMPTALWAYS, диалоговое окно ODBC Login отображается всегда, давая возможность изменить установки перед использованием соединения.Если задано 3 или DB_PROMPTNEVER, диалоговое окно ODBC Login не отображается и Visual FoxPro при отсутствии требуемой регистрационной информации генерирует ошибку. Чтение/запись.
DispWarningsLСодержит логическое значение, которое определяет, отображаются ли неотлавливаемые предупреждающие сообщения из удаленной таблицы ODBC или Visual FoxPro."Истина" (.T.) указывает, что неотлавливаемые ошибки отображаются (принимается по умолчанию). Чтение/запись.
IdleTimeoutNВеличина тайм-аута для режима простоя (в секундах). По истечении этого интервала активные соединения деактивизируются. По умолчанию принимается значение 0 (неопределенно долгое ожидание). Чтение/запись.
PacketSizeNРазмер сетевого пакета, используемого данным соединением. Регулируя эту величину, можно заметно повысить производительность. По умолчанию используется значение 4096 байт (4K). Чтение/запись.
PassWordCПароль соединения. Чтение/запись.
QueryTimeoutNВеличина тайм-аута для запроса (в секундах). По умолчанию принимается значение 0 (неопределенно долгое ожидание). Чтение/запись.
TransactionsNСодержит числовое значение, определяющее, как соединение управляет транзакциями в удаленной таблице. Transactions может принимать следующие значения: 1 или DB_TRANSAUTO (из FOXPRO.H). 1 принимается по умолчанию. Обработка транзакций для удаленной таблицы ведется автоматически. 2 или DB_TRANSMANUAL (из FOXPRO.H). Обработка транзакций ведется вручную с помощью функций SQLCOMMIT( ) и SQLROLLBACK( ). Чтение/запись.
UserIdCИдентификатор пользователя. Чтение/запись.
WaitTimeNПериод времени в миллисекундах, проходящий до того, как Visual FoxPro проверит, закончил ли выполнение оператор SQL. По умолчанию принимается значение 100 миллисекунд. Чтение/запись.

Свойства баз данных:

cPropertyТипОписание
CommentCТекст комментария для базы данных.Чтение/запись.
VersionNНомер версии базы данных.Только чтение.

Свойства полей таблиц:
cPropertyТипОписание
CaptionCНазвание поля.Чтение/запись.
CommentCТекст комментария для поля.Чтение/запись.
DefaultValueCЗначение поля по умолчанию.Только чтение.
RuleExpressionCВыражение правила поля.Только чтение.
RuleTextCТекст правила поля в случае ошибки.Только чтение.

Свойства полей представлений:
cPropertyТипОписание
CaptionCНазвание поля.Чтение/запись.
CommentCТекст комментария для поля.Чтение/запись.
DataTypeCТип данных для поля представления. Первоначально содержит тип данных для поля в источнике данных. Чтобы задать для поля другой тип данных с помощью функции DBSETPROP( ), воспользуйтесь синтаксисом создания полей, принятым в команде CREATE TABLE - SQL.Например, чтобы заменить целочисленное поле iCost в таблице Mytable на числовое поле ширины 4 с 2 знаками в дробной части, задайте DBSETPROP('mytable.icost', 'field', 'DataType', 'N(4,2)'). Можно также включить предложение NOCPTRANS, чтобы символьные и memo-поля не транслировались в другую кодовую страницу. Дополнительную информацию о типах данных для представлений см. в теме справки Изменение типов данных по умолчанию при загрузке удаленных представлений. Чтение/запись для удаленных представлений. Только чтение для локальных представлений.
DefaultValueCЗначение поля по умолчанию.Чтение/запись.
KeyFieldLСодержит значение "истина" (.T.), если поле задано в выражении ключа индекса; в противном случае содержит "ложь" (.F.).Чтение/запись.
RuleExpressionCВыражение правила поля.Чтение/запись.
RuleTextCТекст правила поля в случае ошибки.Чтение/запись.
UpdatableLСодержит значение "истина" (.T.), если поле можно обновлять; в противном случае содержит "ложь" (.F.).Чтение/запись.
UpdateNameCИмя поля, использованное при обновлении содержимого поля для удаленной таблицы. По умолчанию имя поля удаленной таблицы.Чтение/запись.

Свойства таблиц:

cPropertyТипОписание
CommentCТекст комментария для таблицы.Чтение/запись.
DeleteTriggerCВыражение триггера Delete.Только чтение.
InsertTriggerCВыражение триггера Insert.Только чтение.
PathCПуть к таблице.Только чтение.
PrimaryKeyCИмя тега первичного ключа.Только чтение.
RuleExpressionCВыражение правила строки.Только чтение.
RuleTextCТекст правила строки в случае ошибки.Только чтение.
UpdateTriggerCВыражение триггера Update.Только чтение.

Свойства представлений:

cPropertyТипОписание
BatchUpdateCountNЧисло операторов обновления, переданных в выходной буфер для представлений. По умолчанию принимается 1. Правильно подобрав это значение, можно существенно повысить производительность процедуры обновления. Чтение/запись.
CommentCТекст комментария для представления. Чтение/запись.
ConnectNameCИменованное соединение, использованное при открытии представления. Только чтение.
FetchMemoLСодержит значение "истина" (.T.) (по умолчанию), если вместе с результатами представления выбираются memo-поля и поля типа General ; в противном случае содержит значение "ложь" (.F.). Чтение/запись.
FetchSizeNЧисло записей, выбираемых за один раз из удаленных таблиц (когда разрешена постепенная выборка). По умолчанию берется 100 записей. Установка FetchSize в -1 возвращает полное результирующее множество (ограниченное установкой MaxRecords). Чтение/запись.
MaxRecordsNМаксимальное число строк, выбираемых при возвращении результирующих множеств. По умолчанию принимается - 1 (все строки возвращаются). Значение 0 указывает, что представление выполнено, но никакие результаты не выбраны. Чтение/запись.
ParameterListCПараметры предложения WHERE. Они имеют следующий формат: ''ParameterName1, 'Type1'; ParameterName2, 'Type2'; ...'', где Type один из следующих символов, задающих тип параметра: C - CharacterD - DateT - DateTimeN - NumericF - FloatingB - DoubleI - IntegerY - CurrencyL - LogicalНапример, ''MyParam1, 'C' '' задает один параметр символьного типа с именем MyParam1. Подробнее о создании параметризованных представлений см. главу 8 "Создание многотабличных представлений" Руководства разработчика. Чтение/запись.
RuleExpressionCВыражение правила записи. Чтение/запись.
RuleTextCВыражение текста правила, появляющегося в случае ошибки при редактировании данных в окне просмотра или окне редактирования. Чтение/запись.
SendUpdatesLСодержит значение "истина" (.T.), если передается запрос SQL на обновление в удаленные таблицы; в противном случае содержит "ложь" (.F.) (по умолчанию). Чтение-запись.
ShareConnectionLСодержит значение "истина" (.T.), если представление может использовать свое соединение совместно с другими соединениями; в противном случае содержит "ложь" (.F.). Чтение/запись.
SourceTypeNИсточник представления. SourceType может принимать следующие значения: 1 - Представление использует локальные таблицы. 2 - Представление использует удаленные таблицы. Только чтение.
SQLCПри открытии представления выполнялся оператор SQL. Чтение-запись.
TablesCСписок имен таблиц через запятую. Только чтение.
UpdatableCСписок разделенных запятыми имен полей, в которые направляются данные обновления.Чтение/запись.
UpdateNameCСписок имен удаленных полей через запятую. Чтение/запись.
UpdateTypeNТип обновления. Допустимые значения: 1 или DB_UPDATE (из FOXPRO.H). Старые данные обновляются (используется по умолчанию). 2 или DB_DELETEINSERT (из VISUAL FOXPRO.H). Старые данные удаляются и вставляются новые. Чтение-запись.
UseMemoSizeNМинимальный размер результирующих столбцов (в байтах), при котором они возвращаются в memo-полях. Например, если ширина столбца-результата больше значения UseMemoSize, этот столбец сохраняется в memo-поле. Значение UseMemoSize может варьироваться в диапазоне от 1 дo 255, по умолчанию принимается 255. Чтение/запись.
WhereTypeNВид предложения WHERE, применяемого для обновления удаленных таблиц. WhereType может принимать следующие значения: 1 или DB_KEY (из FOXPRO.H). Предложение WHERE, используемое для обновления удаленных таблиц, состоит только из первичных полей, заданных свойством KeyFieldList. 2 или DB_KEYANDUPDATABLE (из FOXPRO.H).Предложение WHERE, используемое для обновления удаленных таблиц, состоит только из первичных полей, заданных свойством KeyFieldList, а также всех остальных полей, подлежащх обновлению. 3 или DB_KEYANDUPDATABLE (из FOXPRO.H). Предложение WHERE, используемое для обновления удаленных таблиц, состоит из первичных полей, заданных свойством KeyFieldList, а также всех остальных полей, подлежащих изменению. 4 или DB_KEYANDTIMESTAMP (из FOXPRO.H). Предложение WHERE, используемое для обновления удаленных таблиц, состоит из первичных полей, заданных свойством KeyFieldList с учетом сравнения полей Timestamp. Подробнее о свойстве WhereType см. главу 8 "Создание многотабличных представлений" Руководства разработчика. Чтение-запись.

Результат:
Символьный, числовой или логический.

Пример:

* В следующем примере отображается комментарий к полю cust_id из
* таблицы customer. Если для этого поля комментарии не заданы,
* выдается сообщение об отсутствии комментариев.

CLOSE DATABASES
SET PATH TO (SYS(2004) + 'samples\data\')	&& Sets path to database
OPEN DATABASE testdata  && Open testdata database
USE customer	  && Open customer table

cRESULTS = DBGETPROP('customer.cust_id', 'Field', 'Comment')	
IF LEN(cRESULTS) = 0
	WAIT WINDOW 'No Comment for this field,' + CHR (13) + ;
		'Use DBSETPROP( ) to add comments.'
ELSE
	WAIT WINDOW 'Cust_id field comments: '+ cRESULTS
ENDIF

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 14.12.2002