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