Возвращает свойство текущей базы данных, или свойство поля, именованного соединения, таблицы или представления текущей базы данных.
Синтаксис:
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 | Тип | Описание |
---|---|---|
Asynchronous | L | Режим соединения."Ложь" (.F.) задает синхронное соединение (по умолчанию)."Истина" (.T.) задает асинхронное соединение.Чтение/запись. |
BatchMode | L | Режим пакетной обработки."Истина" (.T.) задает соединение, работающее в пакетном режиме (по умолчанию).Чтение/запись. |
Comment | C | Текст комментария для соединения.Чтение/запись. |
ConnectString | C | Строка входа в соединение.Чтение/запись. |
ConnectTimeout | N | Интервал тайм-аута для соединения в секундах. По умолчанию принимается значение 0 (неопределенно долгое ожидание).Чтение/запись. |
DataSource | C | Имя источника данных, которое определено в файле ODBC.INI.Чтение/запись. |
DispLogin | N | Содержит числовое значение, определяющее, когда отображается диалоговое окно 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 при отсутствии требуемой регистрационной информации генерирует ошибку. Чтение/запись. |
DispWarnings | L | Содержит логическое значение, которое определяет, отображаются ли неотлавливаемые предупреждающие сообщения из удаленной таблицы ODBC или Visual FoxPro."Истина" (.T.) указывает, что неотлавливаемые ошибки отображаются (принимается по умолчанию). Чтение/запись. |
IdleTimeout | N | Величина тайм-аута для режима простоя (в секундах). По истечении этого интервала активные соединения деактивизируются. По умолчанию принимается значение 0 (неопределенно долгое ожидание). Чтение/запись. |
PacketSize | N | Размер сетевого пакета, используемого данным соединением. Регулируя эту величину, можно заметно повысить производительность. По умолчанию используется значение 4096 байт (4K). Чтение/запись. |
PassWord | C | Пароль соединения. Чтение/запись. |
QueryTimeout | N | Величина тайм-аута для запроса (в секундах). По умолчанию принимается значение 0 (неопределенно долгое ожидание). Чтение/запись. |
Transactions | N | Содержит числовое значение, определяющее, как соединение управляет транзакциями в удаленной таблице. Transactions может принимать следующие значения: 1 или DB_TRANSAUTO (из FOXPRO.H). 1 принимается по умолчанию. Обработка транзакций для удаленной таблицы ведется автоматически. 2 или DB_TRANSMANUAL (из FOXPRO.H). Обработка транзакций ведется вручную с помощью функций SQLCOMMIT( ) и SQLROLLBACK( ). Чтение/запись. |
UserId | C | Идентификатор пользователя. Чтение/запись. |
WaitTime | N | Период времени в миллисекундах, проходящий до того, как Visual FoxPro проверит, закончил ли выполнение оператор SQL. По умолчанию принимается значение 100 миллисекунд. Чтение/запись. |
Свойства баз данных:
cProperty | Тип | Описание |
---|---|---|
Comment | C | Текст комментария для базы данных.Чтение/запись. |
Version | N | Номер версии базы данных.Только чтение. |
Свойства полей таблиц:
cProperty | Тип | Описание |
---|---|---|
Caption | C | Название поля.Чтение/запись. |
Comment | C | Текст комментария для поля.Чтение/запись. |
DefaultValue | C | Значение поля по умолчанию.Только чтение. |
RuleExpression | C | Выражение правила поля.Только чтение. |
RuleText | C | Текст правила поля в случае ошибки.Только чтение. |
Свойства полей представлений:
cProperty | Тип | Описание |
---|---|---|
Caption | C | Название поля.Чтение/запись. |
Comment | C | Текст комментария для поля.Чтение/запись. |
DataType | C | Тип данных для поля представления. Первоначально содержит тип данных для поля в источнике данных. Чтобы задать для поля другой тип данных с помощью функции DBSETPROP( ), воспользуйтесь синтаксисом создания полей, принятым в команде CREATE TABLE - SQL.Например, чтобы заменить целочисленное поле iCost в таблице Mytable на числовое поле ширины 4 с 2 знаками в дробной части, задайте DBSETPROP('mytable.icost', 'field', 'DataType', 'N(4,2)'). Можно также включить предложение NOCPTRANS, чтобы символьные и memo-поля не транслировались в другую кодовую страницу. Дополнительную информацию о типах данных для представлений см. в теме справки Изменение типов данных по умолчанию при загрузке удаленных представлений. Чтение/запись для удаленных представлений. Только чтение для локальных представлений. |
DefaultValue | C | Значение поля по умолчанию.Чтение/запись. |
KeyField | L | Содержит значение "истина" (.T.), если поле задано в выражении ключа индекса; в противном случае содержит "ложь" (.F.).Чтение/запись. |
RuleExpression | C | Выражение правила поля.Чтение/запись. |
RuleText | C | Текст правила поля в случае ошибки.Чтение/запись. |
Updatable | L | Содержит значение "истина" (.T.), если поле можно обновлять; в противном случае содержит "ложь" (.F.).Чтение/запись. |
UpdateName | C | Имя поля, использованное при обновлении содержимого поля для удаленной таблицы. По умолчанию имя поля удаленной таблицы.Чтение/запись. |
Свойства таблиц:
cProperty | Тип | Описание |
---|---|---|
Comment | C | Текст комментария для таблицы.Чтение/запись. |
DeleteTrigger | C | Выражение триггера Delete.Только чтение. |
InsertTrigger | C | Выражение триггера Insert.Только чтение. |
Path | C | Путь к таблице.Только чтение. |
PrimaryKey | C | Имя тега первичного ключа.Только чтение. |
RuleExpression | C | Выражение правила строки.Только чтение. |
RuleText | C | Текст правила строки в случае ошибки.Только чтение. |
UpdateTrigger | C | Выражение триггера Update.Только чтение. |
Свойства представлений:
cProperty | Тип | Описание |
---|---|---|
BatchUpdateCount | N | Число операторов обновления, переданных в выходной буфер для представлений. По умолчанию принимается 1. Правильно подобрав это значение, можно существенно повысить производительность процедуры обновления. Чтение/запись. |
Comment | C | Текст комментария для представления. Чтение/запись. |
ConnectName | C | Именованное соединение, использованное при открытии представления. Только чтение. |
FetchMemo | L | Содержит значение "истина" (.T.) (по умолчанию), если вместе с результатами представления выбираются memo-поля и поля типа General ; в противном случае содержит значение "ложь" (.F.). Чтение/запись. |
FetchSize | N | Число записей, выбираемых за один раз из удаленных таблиц (когда разрешена постепенная выборка). По умолчанию берется 100 записей. Установка FetchSize в -1 возвращает полное результирующее множество (ограниченное установкой MaxRecords). Чтение/запись. |
MaxRecords | N | Максимальное число строк, выбираемых при возвращении результирующих множеств. По умолчанию принимается - 1 (все строки возвращаются). Значение 0 указывает, что представление выполнено, но никакие результаты не выбраны. Чтение/запись. |
ParameterList | C | Параметры предложения WHERE. Они имеют следующий формат: ''ParameterName1, 'Type1'; ParameterName2, 'Type2'; ...'', где Type один из следующих символов, задающих тип параметра: C - CharacterD - DateT - DateTimeN - NumericF - FloatingB - DoubleI - IntegerY - CurrencyL - LogicalНапример, ''MyParam1, 'C' '' задает один параметр символьного типа с именем MyParam1. Подробнее о создании параметризованных представлений см. главу 8 "Создание многотабличных представлений" Руководства разработчика. Чтение/запись. |
RuleExpression | C | Выражение правила записи. Чтение/запись. |
RuleText | C | Выражение текста правила, появляющегося в случае ошибки при редактировании данных в окне просмотра или окне редактирования. Чтение/запись. |
SendUpdates | L | Содержит значение "истина" (.T.), если передается запрос SQL на обновление в удаленные таблицы; в противном случае содержит "ложь" (.F.) (по умолчанию). Чтение-запись. |
ShareConnection | L | Содержит значение "истина" (.T.), если представление может использовать свое соединение совместно с другими соединениями; в противном случае содержит "ложь" (.F.). Чтение/запись. |
SourceType | N | Источник представления. SourceType может принимать следующие значения: 1 - Представление использует локальные таблицы. 2 - Представление использует удаленные таблицы. Только чтение. |
SQL | C | При открытии представления выполнялся оператор SQL. Чтение-запись. |
Tables | C | Список имен таблиц через запятую. Только чтение. |
Updatable | C | Список разделенных запятыми имен полей, в которые направляются данные обновления.Чтение/запись. |
UpdateName | C | Список имен удаленных полей через запятую. Чтение/запись. |
UpdateType | N | Тип обновления. Допустимые значения: 1 или DB_UPDATE (из FOXPRO.H). Старые данные обновляются (используется по умолчанию). 2 или DB_DELETEINSERT (из VISUAL FOXPRO.H). Старые данные удаляются и вставляются новые. Чтение-запись. |
UseMemoSize | N | Минимальный размер результирующих столбцов (в байтах), при котором они возвращаются в memo-полях. Например, если ширина столбца-результата больше значения UseMemoSize, этот столбец сохраняется в memo-поле. Значение UseMemoSize может варьироваться в диапазоне от 1 дo 255, по умолчанию принимается 255. Чтение/запись. |
WhereType | N | Вид предложения 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