Oracle Objects for OLE C++ Class Library
Release 9.2

Part Number A95896-01
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents

Master Index

Feedback

ActionRequest Method

Applies To

OAdvise

Description

The ActionRequest method is called by a dynaset when that dynaset is about to start an operation. You do not call ActionRequest; the ActionRequest method of your OAdvise subclass is called by the dynaset.

Usage

oboolean ActionRequest(int actiontype)

Arguments

actiontype will have one of the following values:

Value
Description
OADVISE_MOVE_FIRST
// dynaset moving to first record
OADVISE_MOVE_PREV
// dynaset moving to previous record
OADVISE_MOVE_NEXT
// dynaset moving to next record
OADVISE_MOVE_LAST
// dynaset moving to last record
OADVISE_MOVE_TOMARK
// dynaset moving to dynaset mark
OADVISE_REFRESH
// dynaset refreshing
OADVISE_DELETE
// dynaset deleting current record
OADVISE_ADDNEW
// dynaset adding a new record
OADVISE_UPDATE
// dynaset updating
OADVISE_ROLLBACK
// session (that dynaset is part of) is rolling back
Remarks

When you subclass OAdvise, you can override the ActionRequest method. After an instance of your OAdvise subclass is attached to a dynaset (by way of the OAdvise::Open method), your instance receives calls to its ActionRequest method. Use an ActionRequest method to control whether certain dynaset actions should be allowed to proceed, or to do your own processing before dynaset actions occur.

The unoverridden ActionRequest method of OAdvise always returns TRUE, allowing all dynaset operations to proceed immediately.

Return value

TRUE - tells the dynaset that the action can proceed

FALSE - tells the dynaset to cancel the action

Example

This example attempts to save a change to the current record if there is one. This is an action that needs to be taken before the dynaset does an operation.

oboolean YourOAdvise::ActionRequest(int actiontype)

{

// check whether we have an unsaved change in this record

int error;

if (m_havechange)

{ // we have a change, try to save it

error = m_context->SaveTheChange();

if (error != 0)

{ // some problem - cancel the action

return(FALSE);

}

}

// everything is fine, allow the action

return(TRUE);

}


 
Oracle
Copyright © 1998, 2002 Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents

Master Index

Feedback