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

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

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( ) . Свойства подключения

cProperty Тип Описание

Асинхронный

L

Режим соединения. (Заданная по умолчанию) Ложь (.F). определяет синхронное подключение. Истина (.T). определяет асинхронное подключение.

Чтение - запись.

BatchMode

L

Режим пакетной обработки. (Заданная по умолчанию) Истина (.T). определяет подключение, которое работает в пакетном режиме.

Чтение - запись.

Комментарий

C

Текст комментария подключения.

Чтение - запись.

ConnectString

C

Строка подключения входа в систему.

Чтение - запись.

ConnectTimeout

N

Интервал блокировки времени подключения в секундах. Значение по умолчанию - 0 (ждать неопределенно).

Чтение - запись.

База данных

C

Имя базы данных сервера, указанной предложением DATABASE в команде CREATE CONNECTION или в Проектировщике Подключения.

Чтение - запись.

DataSource

C

Имя источника данных как определено в файле Odbc.ini.

Чтение - запись.

DisconnectRollback

L

Определяет, завершена ли ожидающая транзакция или отменена, когда вызвается SQLDISCONNECT( ) для последнего дескриптора подключения.

Значением по умолчанию является ложь (.F)., указывая, что ожидающая транзакция завершена, когда SQLDISCONNECT( ) вызывается для последнего дескриптора подключения.

Определите истину (.T). для отката ожидающей транзакции, когда SQLDISCONNECT( ) вызывается для последнего дескриптора подключения.

На подключения с автоматическим процессингом транзакций эта установка не влияет.

Чтение - запись.

DispLogin

N

Содержит числовое значение, которое определяет, когда диалоговое окно ODBC Login должно отобразиться. DispLogin может принять следующие значения:

1 или DB_PROMPTCOMPLETE (от Foxpro.h). 1 - значение по умолчанию.

2 или DB_PROMPTALWAYS (от Foxpro.h).

3 или DB_PROMPTNEVER (от Foxpro.h).

Если заданы 1 или DB_PROMPTCOMPLETE, Microsoft 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

Содержит числовое значение, которое определяет, как подключение управляет транзакциями над отдаленной таблицей. Транзакции могут принимать следующие значения:

1 или DB_TRANSAUTO (от Foxpro.h). 1 - значение по умолчанию. Процессинг транзакций над отдаленной таблицей управляется автоматически.

2 или DB_TRANSMANUAL (от Foxpro.h). Процессинг транзакций управляется вручную через SQLCOMMIT( ) и SQLROLLBACK( ) .

Чтение - запись.

UserId

C

Пользовательский идентификатор.

Чтение - запись.

WaitTime

N

Время в миллисекундах, через которое Visual FoxPro прверяет, завершила ли свое выполнение инструкция SQL. Значение по умолчанию - 100 миллисекунд.

Чтение - запись.

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

cProperty Тип Описание

Comment

C

Текст комментария базы данных.

Чтение - запись.

DBCEventFileName

C

Относительный путь и имя файла внешнего программного файла, содержащего код Событий DBC.

DBCEvents

L

Допускаемое состояние События DBC. Установите в Истину (.T). для его разрешения.

Version

N

Номер версии базы данных.

Только для чтения.

Свойства полей для таблиц

cProperty Type Описание

Заголовок

C

Заголовок Поля. Если знак "=" (=) предшествует значению этого свойства, Visual FoxPro вычисляет его значение как выражение. В противном случае, он обработывается как строковый литерал.

Чтение - запись.

Comment

C

Текст комментария поля.

Чтение - запись.

DefaultValue

C

Значение поля по умолчанию.

Только для чтения.

DisplayClass

C

Имя класса, используемого для отображения поля.

Чтение - запись.

DisplayClassLibrary

C

Путь к библиотеке классов, указанной в свойстве DisplayClass .

Чтение - запись.

Format

C

Формат Поля для вывода. См. Format Property для перечня параметров настройки формата.

Чтение - запись.

InputMask

C

Формат поля для ввода. См. Свойство InputMask для перечня параметров настройки маски ввода.

Чтение - запись.

RuleExpression

C

Выражение правил для поля.

Только для чтения.

RuleText

C

Текст ошибки правила поля.

Только для чтения.

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

cProperty Тип Описание

Caption

C

Заголовок поля. Если знак "=" (=) предшествует значению этого свойства, Visual FoxPro вычисляет значение как выражение. Иначе, оно обрабатывается как строковый литерал.

Чтение - запись.

Comment

C

Текст комментария поля.

Чтение - запись.

DataType

C

Тип данных для поля в представлении. Первоначально установленно в тип данных поля источника данных.

Для задания другого тип данных поля посредством DBSETPROP( ) , используйте синтаксис CREATE TABLE -SQL для создания полей.

Например, чтобы изменить тип данных целочисленного поля iCost в таблице Mytable в числовой тип с шириной 4 и 2 десятичными знаками, используйте

DBSETPROP('mytable.icost,'' поле '; 'DataType ', 'N(4,2)')

Вы можете также включить предложение NOCPTRANS, чтобы предотвратить трансляцию символа и memo-полей в другую кодовую страницу.

Чтение - запись для отдаленных представлений.

DisplayClass

C

Имя класса, используемого для отображения поля.

Чтение - запись.

DisplayClassLibrary

C

Путь к библиотеке классов, указанной в свойстве DisplayClass .

Чтение - запись.

DefaultValue

C

Значение поля по умолчанию.

Чтение - запись.

KeyField

L

Содержит Истину (.T). если поле определено в индексном выражении ключа; иначе, содержит Ложь (.F)..

Чтение - запись.

RuleExpression

C

Выражение правил поля.

Чтение - запись.

RuleText

C

Текст ошибки правила поля.

Чтение - запись.

Updatable

L

Содержит Истину (.T). если поле может быть модифицировано; иначе, содержит Ложь (.F)..

Чтение - запись.

UpdateName

C

Имя поля, которое используется, когда данные поля модифицируются в отдаленной таблице. По умолчанию, имя поля отдаленной таблицы.

Чтение - запись.

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

cProperty Тип Описание

Comment

C

Текст комментария таблицы.

Чтение - запись.

DeleteTrigger

C

Выражение триггера удаления.

Только для чтения.

InsertTrigger

C

Выражение триггера Вставки.

Только для чтения.

Path

C

Относительный путь к таблице относительно DBC, включая имя файла.

Только для чтения.

PrimaryKey

C

Имя тэга первичного ключа.

Только для чтения.

RuleExpression

C

Выражение правила записи.

Только для чтения.

RuleText

C

Текст ошибки правила записи.

Только для чтения.

UpdateTrigger

C

Выражение триггера Модификации.

Только для чтения.

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

cProperty Тип Описание

AllowSimultaneousFetch

L

Применяется при использовании отдаленных представлений, разделяемых подключений, и к курсорам созданным, с использованием ODBC.

AllowSimultaneousFetch содержит Истину (.T). когда соответственно конфигурированным курсорам, совместно использующим подключение, разрешаются выбирать записи одновременно.

В проивном случае, когда одновременная выборка строк не разрешается, AllowSimultaneousFetch содержит Ложь (.F).

Обратите внимание:
Это свойство доступно в Visual FoxPro 8.0 и более поздних версиях. Представления, созданные в Visual FoxPro 8.0 и поздних версий, не совместимы с более ранними версиями. Запрос команды VALIDATE DATABASE версий, более младших чем Visual FoxPro 8.0, в контейнере базы данных, содержащей отдаленные представления, созданными или изменяемыми в Visual FoxProе 8.0 и поздних версий, генерирует ошибку. Запрос VALIDATE DATABASE RECOVER в версии до Visual FoxPro 8.0 удаляет свойство AllowSimultaneousFetch из любых подобных представлений.

BatchUpdateCount

N

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

Чтение - запись.

Comment

C

Текст комментария представления.

Чтение - запись.

CompareMemo

L

Содержит истину (.T). (значение по умолчанию), если memo-поля (типов: Memo, General, или Picture, или, для отдаленных представлений, типа Timestamp), включены в предложение WHERE для модификации; иначе, содержит ложь (.F)..

Чтение - запись.

ConnectName

C

Именованое подключение, используемое когда представление открыто.

Только для чтения.

FetchAsNeeded

L

Если равно Истине (.T)., данные выбираются только при необходимости, так что указатель записи перемещается в строку, которая ещё не была выбрана.

Если равно Лжи (.F)., дополнительные данные выбираются в течение времени простоя. (Значение по умолчанию)

Обратите внимание:
FetchAsNeeded не применяется, когда прогрессивная выборка заблокирована (FetchSize - -1).

Чтение - запись.

FetchMemo

L

Содержит истину (.T). (значение по умолчанию), если поля мемо и general выбраны с помещением результатов в представление; иначе, содержит ложь (.F)..

Используйте Функцию ISMEMOFETCHED () для установления того, было ли выбрано memo-поле.

Чтение - запись.

FetchSize

N

Содержит количество записей, выбранных одновременно из отдаленных таблиц. Значение по умолчанию - 100 записей. Установка FetchSize в -1 возвращает полную выборку, ограниченную установкой MaxRecords.

Обратите внимание:
Прогрессивная выборка удерживает подключение на время, пока все строки не найдены. Проявите осмотрительность программируя с использвоанием FetchSize, если ShareConnection равно Истине (.T)..

Чтение - запись.

MaxRecords

N

Максимальное количество записей выборки, в момент возврата результатов. Значение по умолчанию - - 1 (все строки возвращены). Значение 0 определяет, что представление выполнено, но выборка не содержит строк.

Чтение - запись.

Offline

L

Содержит истину (.T). если представление - это автономное представление.

Только для чтения.

ParameterList

C

Параметры предложения WHERE. Формат для параметров - " ParameterName1 , ' Type1 '; ParameterName2 , ' Type2 '; ... " где Type является одним из следующих символов, определяющих тип параметра:

C - Символ D - Дата T - DateTime N - Числовой F - Плавающий B - Двойной I - Целое число Y - Валюта L - Логический

Например, ''MyParam1, 'C' " определяет единственный параметр символьного типа MyParam1.

Для подробной информации о создании параметризованых представлений, см. Как: Создайте Параметризованые Представления .

Чтение - запись.

Prepared

L

Содержит Истину (.T). если инструкции SQL готовы к последующему запросу функции REQUERY( ) . REQUERY( ) используется, чтобы отыскать данные для SQL представления заново. См. SQLPREPARE( ) для дополнительной информации о подготовке инструкций SQL. Значением по умолчанию является ложь (.F)..

Чтение - запись.

RuleExpression

C

Выражение для правила уровня записи.

Чтение - запись.

RuleText

C

Выражение для текста правила отображается при возникновении ошибки, когда данные отредактируются в окнах Browse или Edit.

Чтение - запись.

SendUpdates

L

Содержит истину (.T). если SQL запрос модификации послан чтобы обновить отдаленные таблицы; иначе, содержит ложь (.F). (значение по умолчанию).

Чтение - запись.

ShareConnection

L

Содержит истину (.T). если представление может разделять использование своего дескриптора подключения другими подключениями; иначе, содержит ложь (.F)..

Чтение - запись.

SourceType

N

Источник представления. SourceType может принять следующие значения: 1 - представление использует местные таблицы.

2 - представление использует отдаленные таблицы.

Только для чтения.

SQL

C

Инструкция SQL выполнилась, когда представление открыто.

Только для чтения.

Tables

C

Список имен таблиц через запятую.

Чтение - запись.

UpdateType

N

Тип модификации. Допустимые значения: 1 или DB_UPDATE (из Foxpro.h). Старые данные модифицированы новыми данными (значение по умолчанию).

2 или DB_DELETEINSERT (из Foxpro.h). Старые данные удалены, и новые данные вставлены.

Чтение - запись.

UseMemoSize

N

Минимальный размер (в байтах), для которого столбцы результата возвращены в memo-полях. Например, если ширина колонки результатов больше чем значение UseMemoSize, результаты сохраняются в memo-поле. UseMemoSize может измениться от 1 до 255; значение по умолчанию - 255.

Чтение - запись.

WhereType

N

Предложение WHERE для модификаций отдаленных таблиц. WhereType может принять следующие значения: 1 или DB_KEY (из Foxpro.h). Предложение WHERE, используемое, чтобы обновить отдаленные таблицы, состоящие только из первичных ключей, указанных в свойстве KeyFieldList .

2 или DB_KEYANDUPDATABLE (из Foxpro.h). Предложение WHERE, используемое, чтобы обновить отдаленные таблицы, состоящие из первичных ключей, указанных в свойстве KeyFieldList и любых обновляемых полей.

3 или DB_KEYANDMODIFIED (из Foxpro.h) (значение по умолчанию). Предложение WHERE, используемое, чтобы обновить отдаленные таблицы, состоящие из первичных ключей, указанных в свойтве KeyFieldList и любых другихе полей, которые обновляются.

4 или DB_KEYANDTIMESTAMP (из Foxpro.h). Предложение WHERE, используемое, чтобы обновить отдаленные таблицы, состоящие из первичных полей, указанных в свойстве KeyFieldList и для сравнения меток времени.

Для подробной информации о свойстве WhereType , см. Управление Модификациями с использованием Представлений .

Чтение - запись.

Возвращаемое значение

Символьный, Числовой, или Логический тип данных. DBGETPROP () возвращает значение для указанного свойства.

Замечания

Для подробной информации об установке значений свойства, см. DBSETPROP( ) Функция .

Пример

Следующий пример отображает имя первичного ключа поля для таблицы customer . Затем отображается комментарии поля для поля cust_id в таблице customer . Если нет никаких комментариев для поля, выводится сообщение, указывая, что комментарии поля отсутствуют. Чтобы добавлять комментарии, см. пример для DBSETPROP( ) .

Скопировать код
CLOSE DATABASES
CLEAR
OPEN DATABASE (HOME(2) + 'Data\testdata')
* Displays the primary key field
cResults = DBGETPROP("customer", "Table", "PrimaryKey")
=MESSAGEBOX(cResults) && Displays 'cust_id'
* Displays comments for the field 'cust_id'
cResults = DBGETPROP("customer.cust_id", "Field", "Comment")
IF LEN(ALLTRIM(cResults)) = 0
=MESSAGEBOX("No Comment for this field." + CHR(13) + ;
CHR (13) + "Use DBSETPROP( ) to add comments.")
ELSE
=MESSAGEBOX("Cust_id field comments: " + cRESULTS)
ENDIF

См. Также