Skip Headers

Oracle® Objects for OLE C++ Class Library Developer's Guide
10g Release 1 (10.1)

Part Number B10119-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Master Index
Master Index
Go to Feedback page
Feedback

GetEditMode Method

Applies To

ODynaset

Description

This method returns the edit mode of the current record.

Usage

int GetEditMode(void) const

Remarks

The edit mode of the current record can be one of the following forms:

ODYNASET_EDIT_NOEDIT // the current record is not being edited

ODYNASET_EDIT_EDITING // the current record is being edited

ODYNASET_EDIT_NEWRECORD // the current record was added, either with AddNewRecord or DuplicateRecord

If there is no current record, or the ODynaset is not open, or there is some other error, ODYNASET_EDIT_NOEDIT is returned.

Return Value

One of the ODYNASET_EDIT_* defines; ODYNASET_EDIT_NOEDIT on error.

Example

This example shows how each of the different edit modes can occur.

// construct and open an ODatabase

ODatabase odb("ExampleDB", "scott", "tiger");

// construct an ODynaset but don't open it

ODynaset dyn;

int editmode;

editmode = dyn.GetEditMode();

// editmode is ODYNASET_EDIT_NOEDIT because the dynaset is not open

// now open the dynaset

dyn.Open(odb, "select * from emp");

dyn.MoveFirst();

// What is the edit mode when we're just looking at data?

editmode = dyn.GetEditMode();

// editmode is ODYNASET_EDIT_NOEDIT because the current record has

// not been changed or added

// What's the edit mode when we're editing?

dyn.StartEdit(); // start editing

editmode = dyn.GetEditMode();

// now editmode is ODYNASET_EDIT_EDITING

dyn.SetFieldValue("sal", 8000); // set some data

dyn.Update();

// the edit mode is back to ODYNASET_EDIT_NOEDIT after the Update

// now add a record

dyn.AddNewRecord();

editmode = dyn.GetEditMode();

// now editmode is ODYNASET_EDIT_NEWRECORD

dyn.Update(); // save the new record

// edit mode is back to ODYNASET_EDIT_NOEDIT again

/*

By the way, dyn.ErrorNumber() would now report an error because the

update didn't occur. That's because the emp table requires some

fields to have non-NULL values and we didn't set them.

*/