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).
|