IRowsetChange - OLE DB Provider for Teradata

OLE DB Provider for Teradata User Guide

Product
OLE DB Provider for Teradata
Release Number
15.00
Language
English (United States)
Last Update
2018-09-28
dita:id
B035-2498
Product Category
Teradata Tools and Utilities

IRowsetChange

Programming Limitations

None.

Programming Considerations

Special consideration must be given when a rowset contains a column declared as INTEGER FORMAT ‘99:99:99’ (see section “INTEGER FORMAT ’99:99:99’ Columns” on page 64), or FLOAT (see “Changing Data” on page 49).

OLE DB Provider for Teradata does not support IRowsetResynch.

  • Therefore, if the data of the underlying table of a rowset has been modified (delete, insert, or update), then a IRowset::RestartPosition must be called for any changes to be reflected in the rowset.
  • If a IRowset::RestartPosition is not executed, then the rowset contains the data that was originally fetched from the table even though the data contained in the underlying table has changed. This may cause problems when the consumer calls either:
  • IRowsetChange::SetData
  • IRowsetChange::Delete
  • For example, suppose a consumer retrieves a rowset from the table PRODUCTS. A second consumer deletes a row from the PRODUCTS table that is included in the first consumer’s rowset. If the first consumer makes a call to IRowsetChange::SetData to update the row that was deleted by the second consumer, OLE DB Provider for Teradata returns the E_FAIL error code and presents the following error message:

    Query-based update failed because the row to update could not be found

    For more information, refer to the Microsoft Developer’s Network (MSDN) documentation on Changing Data.

  • MSDN Library - See http://msdn.microsoft.com/library/
  • OLE DB Programmer’s Guide
  • Part 1: Introduction to OLE DB
  • Chapter 5: Updating Data in Rowsets
  • Changing Data