ArcObjects Library Reference (GeoDatabase)  

IRow.Store Method

Stores the row.

[Visual Basic .NET]
Public Sub Store ( _
)
[C#]
public void Store (
);
[C++]
HRESULT Store(
void
);

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Errors Returned

FDO_E_OBJECTCLASS_REQUIRES_AN_EDIT_SESSION: When Store is called on a network feature when the data is unversioned or an edit session has not been started.

FDO_E_CANNOT_SET_WEIGHT_FIELD: When Store is called on a network edge feature with a weight field associated with Shape_Length, on unversioned data or when an edit session has not been started.

FDO_E_FEATURE_NO_GEOMETRY: When Store is called on a network feature or feature in a topology with empty geometry.

SDE_E_SE_STATE_CLOSED: When Store is called on a feature in a versioned feature class within an edit session, but outside of an edit operation.  The error description returned will be "The requested operation is invalid on a closed state [name of class]"

Remarks

The Store method is called by an application once it has modified the values of a Row. Once Store is called on a Row object, all subsequent queries within the same edit session, using the Geodatabase API, will reflect the modified state of the Row object.

All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.

Calling the Store method triggers the following actions:

- The IRowEvents::OnChanged is called for the row being stored. The OnNew is called if this is a newly created row being stored for the first time. A custom row object can implement the OnChanged method and take some special action when it is called - for example; update a special column in the row

- The IRelatedObjectEvents::RelatedObjectChanged method is called for related objects in a related object class if the table for this row is an object class that participates in relationship classes with notification

Store should not be used for batch operations, such as updates or inserts.  For performing a number of inserts or updates using cursors, refer to the ITable::Insert, ITable::Update, ITable::UpdateSearchedRows , IFeatureClass::Update andIFeatureClass::Insert.  If an insert or update cursor is used on non-simple features (such as network features), the cursor will revert to using Store.

It is not necessary to explicitly call Connect on network features, this is handled polymorphically when Store is called on the feature. This is also the case with features in a Topology, Dirty Area creation is handled internally when Store is called.

Store should not be called inside of edit events, such as OnCreateFeature, OnChangeFeature or OnDeleteFeature.  Even if you are modifying the geometry or other field values, Store will be called once the event is complete.

See Also

IRow Interface

.NET Snippets

Write Blob File Contents To Table Row Field

.NET Samples

Curve conversion add-in (Code Files: CurveConversionDockWin) | Custom reshape polyline edit task (Code Files: ReshapePolylineEditTask) | ArcGIS Network Analyst extension Engine application (Code Files: frmMain) | Points along line construction tool (Code Files: PointsAlongLineForm) | ViperPin tool (Code Files: ViperPinForm) | Extending the replication synchronization process (Code Files: RasterSyncWorkspaceExtension) | Calculate area geoprocessing function tool (Code Files: CalculateAreaFunction) | ArcGIS Network Analyst extension barrier location editor (Code Files: EditorForm)

.NET Related Topics

Updating features | Creating features | DataSourcesRaster | Editing with the geodatabase API | Geodatabase | Geodatabase API best practices | How to add point IDs to a polyline | How to load a raster dataset to the raster field in a feature class | How to merge conflicting geometries during a reconcile | Using feature templates