DG Kernel Documentation


Skip Navigation Links.
Start page
Quick Start
Search Page
Installation
Overview of the software
What is new
Licensing
Collapse ModelsModels
Collapse DG Kernel ComponentsDG Kernel Components
Collapse API ReferenceAPI Reference
Interface List
Vector Space
Collapse General GeometryGeneral Geometry
Collapse ModelModel
Collapse ViewView
Collapse General ComputingGeneral Computing
Collapse Samples and TutorialsSamples and Tutorials
Collapse GraphicsGraphics
Collapse Math ObjectsMath Objects
Collapse DeprecatedDeprecated
Redistribution
Model Viewer
Open Source
Support
Skip Navigation Links Search Documentation


IDataMods Interface

SetFieldAt
SetDoubleAt
SetLongAt
SetStringAt

IDataMods interface allows modification of data in the data table.  Note that the modifications will be saved only when the model is saved, (for example via the Save method of the component). IDataMods can be queried from IData interface.

See also User Data Sample, IDataTable, IData, IRecordSet


HRESULT SetFieldAt(int index, int field, VARIANT *data)

Parameters

index - [in] 0-based index of the record.

field - [in] 0-based index of the field.

data - [in] new value of the data to be stored in the field. 

Return Values:

S_OK in case of success.

DISP_E_BADINDEX - if either index or field is out of range. Use IData.etRecordCount and IDataTableGetFieldCount to check the range. 

DISP_E_PARAMNOTOPTIONAL - if data is a NULL reference.

ERROR_CALL_NOT_IMPLEMENTED - if type data is not one of the allowed type: VT_R8, VT_INT, VT_UINT, VT_I4, VT_BSTR

Remarks:

Call this method to set a filed of a record to value passed in the VARIANT structure. Make sure that type of the data has the correct type, otherwise an unpredictable value may be stored. Type of the field can be obtained via IData.GetFieldType . Use IData.etRecordCount and IDataTableGetFieldCount to check the range of index and field parameters. The modifications will be saved only when the model is saved, (for example via the Save method of the component).


HRESULT SetDoubleAt(int index, int field, double data)

Parameters

index - [in] 0-based index of the record.

field - [in] 0-based index of the field.

data - [in] new value of the data to be stored in the field.

Return Values

DISP_E_PARAMNOTOPTIONAL if the field has type different from double.

S_OK in case of success.

DISP_E_BADINDEX - if either index or field is out of range. Use IData.etRecordCount and IDataTableGetFieldCount to check the range. 

Remarks:

Call this method to set filed of double type.  Type of the field can be obtained via IData.GetFieldType. Use IData.etRecordCount and IDataTableGetFieldCount to check the range of index and field parameters. The modifications will be saved only when the model is saved, (for example via the Save method of the component).


HRESULT SetLongAt(int index, int field, long data)

Parameters

index - [in] 0-based index of the record.

field - [in] 0-based index of the field.

data - [in] new value of the data to be stored in the field.

Return Values

DISP_E_PARAMNOTOPTIONAL if the field has type different from long.

S_OK in case of success.

DISP_E_BADINDEX - if either index or field is out of range. Use IData.etRecordCount and IDataTableGetFieldCount to check the range. 

Remarks:

Call this method to set filed of long type.  Type of the field can be obtained via IData.GetFieldType . Use IData.etRecordCount and IDataTableGetFieldCount to check the range of index and field parameters. The modifications will be saved only when the model is saved, (for example via the Save method of the component).


HRESULT SetStringAt(int index, int field, char *string)

Parameters

index - [in] 0-based index of the record.

field - [in] 0-based index of the field.

string - [in] text of the string 

Return Values

TYPE_E_ELEMENTNOTFOUND  if the table does not exist .

S_OK in case of success.

DISP_E_BADINDEX - if either index or field is out of range. Use IData.etRecordCount and IDataTableGetFieldCount to check the range. 

Remarks:

Call this method to set the string value.  Type of the field can be obtained via IData.GetFieldType . Use IData.etRecordCount and IDataTableGetFieldCount to check the range of index and field parameters. The modifications will be saved only when the model is saved, (for example via the Save method of the component).