Provides access to members that control the workspace properties.
|Property||Information about this particular property.|
Information about this particular property.
Public Function get_Property ( _ ByVal propertyGroup As esriWorkspacePropertyGroupType, _ ByVal PropertyType As Integer _ ) As IWorkspaceProperty
Public Sub set_Property ( _ ByVal propertyGroup As esriWorkspacePropertyGroupType, _ ByVal PropertyType As Integer, _ ByVal WorkspaceProperty As IWorkspaceProperty _ )
public IWorkspaceProperty get_Property ( esriWorkspacePropertyGroupType propertyGroup, int PropertyType );
public void set_Property ( esriWorkspacePropertyGroupType propertyGroup, int PropertyType, IWorkspaceProperty WorkspaceProperty );
The IWorkspaceProperties::Propertyproperty has parameters for values from the esriWorkspacePropertyGroupenumeration and either the esriWorkspacePropertyTypeenumeration or the esriWorkspaceTablePropertyType enumeration. It returns the value of the requested property as a WorkspaceProperty object.
The PropertySet parameter may require casting an esriWorkspacePropertyType or esriWorkspaceTablePropertyType value to an integer (or long). See the IWorkspaceProperties interface remarks for a discussion on this.
|RasterWorkspace (esriDataSourcesRaster)||The raster workspace object.|
|SqlWorkspace (esriDataSourcesGDB)||Sql workspace|
|StreamServiceDBWorkspace (esriDataSourcesGDB)||The Stream Service Workspace.|
A workspace may have a set of properties that may be queried using the optional IWorkspaceProperties interface. Two groups of workspace properties exist, the workspace property group and the table property group. Both groups have values in the esriWorkspacePropertyGroupType enumeration, which should be passed to the propertyGroup parameter of this property to indicate which group is being accessed.
The PropertyType parameter should be a value from one of two enumerations, depending on which property group is desired. If the esriWorkspacePropertyGroup value is passed in as the propertyGroup parameter, a value from the esriWorkspacePropertyType enumeration should be passed in as the PropertyType parameter. If the esriWorkspaceTablePropertyGroup value is passed in as the propertyGroup parameter, a value from the esriWorkspaceTablePropertyType enumeration should be passed in as the PropertyType parameter.
Note that the PropertyType parameter expects a long integer. This is because a value from either the esriWorkspacePropertyType enumeration or the esriWorkspaceTablePropertyType enumeration may be used. In some languages (for example, C#) it is necessary to cast these enumerations' values to integers when passing them to the Property property. See the C# example associated with this interface for more on this.
Some of the properties of workspace property group include:
- WorkspacePropCanExecuteSQL: True if the workspace supports the IWorkspace::ExecuteSQLmethod. Note that all feature workspaces accept some form of SQL where clause.
- WorkspacePropCanEdit: True if the workspace supports edit sessions that are managed with the IWorkspaceEditinterface.
- WorkspacePropIsReadonly: True if the workspace cannot be updated.
- WorkspacePropSupportsQualifiedNames: True if the workspace supports qualified names.
- WorkspacePropSupportsMetadata: True if the workspace supports user metadata accessed via the IMetadata interface and exposed to the user in ArcCatalog.
- WorkspacePropCanAnalyze: True if the workspace supports the Analyzemethod on tables in the workspace.
- WorkspacePropCanGetConfigurationKeywords: True if the geodatabase is stored in an ArcSDE 8.1 or higher database or File Geodatabase, in which case that database is aware and can return its configuration keywords via the IWorkspaceConfiguration::ConfigurationKeywordsmethod.
- WorkspacePropIsGeoDatabase: True is the workspace is a geodatabase.
- WorkspacePropMaxWhereClauseLength: Returns the maximum length of the where clause supported by the workspace for use in queries.
Some of the properties in the table property group include:
- TablePropRowCountIsCalculated: True if the ITable::RowCountmethod requires calculation, that is, True if getting the row count is an expensive operation.
- TablePropCanAddField: True if this workspace supports adding fields to tables. Note that if True, the ITable::AddFieldmethod may still fail on specific tables, for example because of a lack of privileges.
- TablePropCanDeleteField: True if this workspace supports deleting fields from tables. The method may still fail on a specific table, for example because of a lack of privileges.
- TablePropCanAddIndex: True if this workspace supports adding indexes to tables. The method may still fail on a specific table, for example because of a lack of privileges.
- TablePropCanDeleteIndex: True if this workspace supports deleting indexes for tables. The method may still fail on a specific table, for example because of a lack of privileges.
- TablePropOIDIsRecordNumber: True if the OID for rows from this table is the record number of the row. This implies that OIDs are continuous.
- TablePropMaxFieldNameLength: Returns the maximum length of field names supported by this workspace.
- TablePropBindCursor: True if this table has support for bind cursors.
Applications can use the above properties to determine the capability of the workspace they are working with. Note that if the optional IWorkspaceProperties interface is not implemented, applications should assume that the above capabilities are supported. Applications should always be prepared to deal with the absence of optional interfaces or with failure when executing methods on mandatory interfaces, for example because of privileges or licensing issues.