Location:
commdb.h
Link against: commdb.lib
CCommsDbTableView
Supported from 5.0
The view on a specific table.
It includes the necessary behaviour for navigating through the records in the view as well containing member functions for reading and writing to columns within a record.
An object of this type cannot be explicitly constructed; it is
always constructed, and a pointer to it returned, as a result of a call to one
of the following member functions of the CCommsDatabase
class:
OpenTableLC()
OpenViewMatchingUintLC()
OpenViewMatchingBoolLC()
OpenViewMatchingTextLC()
OpenViewLC()
|
Defined in CCommsDbTableView
:
CancelRecordChanges()
, DeleteRecord()
, GetTableName()
, GotoFirstRecord()
, GotoNextRecord()
, GotoPreviousRecord()
, InsertRecord()
, PutRecordChanges()
, ReadBoolL()
, ReadColumnLengthL()
, ReadLongTextLC()
, ReadTextL()
, ReadTypeAttribL()
, ReadUintL()
, SetNullL()
, UpdateRecord()
, WriteBoolL()
, WriteLongTextL()
, WriteTextL()
, WriteUintL()
, ~CCommsDbTableView()
Inherited from CBase
:
operator new()
~CCommsDbTableView();
Frees all resources owned by this object, prior to its destruction. Specifically, it closes the view.
TInt GotoFirstRecord();
Sets the first record in the view as the current record; i.e. set the view's cursor to point to the first record.
Notes:
This function must not be called if any of the operations
involved in inserting or updating a record are still outstanding, otherwise the
function raises a CommsDbServer 6 panic. For example, the panic is raised if
this function is called between calls to UpdateRecord()
and
PutRecordChanges()
.
The CommsDbServer 6 panic is also raised if this function is called after the view has been closed.
|
TInt GotoNextRecord();
Sets the next record in the view as the current record; i.e. set the view's cursor to point to the next record.
Notes:
This function must not be called if any of the operations
involved in inserting or updating a record are still outstanding, otherwise the
function raises a CommsDbServer 7 panic. For example, the panic is raised if
this function is called between calls to UpdateRecord()
and
PutRecordChanges()
.
The CommsDbServer 7 panic is also raised if this function is called after the view has been closed.
|
TInt GotoPreviousRecord();
Sets the previous record in the view as the current record; i.e. set the view's cursor to point to the previous record.
Notes:
This function must not be called if any of the operations involved
in inserting or updating a record are still outstanding, otherwise the function
raises a CommsDbServer 8 panic. For example, the panic is raised if this
function is called between calls to UpdateRecord()
and
PutRecordChanges()
.
The CommsDbServer 8 panic is also raised if this function is called after the view has been closed.
|
TInt InsertRecord(TUint32& aId);
Prepares database to insert a new record — must be called before writing to any column.
Once all changes to the new record are complete, a call must be made
to either PutRecordChanges()
or CancelRecordChanges()
as appropriate.
The function puts the unique Id associated with this new record in
aId
.
Notes:
This function raises a CommsDbServer 1 panic if a previous call to
InsertRecord()
or UpdateRecord()
has already been
made.
This function must be called before any attempt is made to write to a column, otherwise subsequent write operations raise a CommsDbServer 12 panic.
Once this function has completed successfully, no attempt can be made
to read from a column until either PutRecordChanges()
or
CancelRecordChanges()
has been called to complete the record
insertion operation, otherwise the read operations raise a CommsDbServer 10
panic.
|
|
|
TInt UpdateRecord();
Prepares to update the current record — must be called before writing to any column.
Once all changes to the new record are complete, a call must be made to
either PutRecordChanges()
or CancelRecordChanges()
as
appropriate.
Notes:
This function raises a CommsDbServer 2 panic if a previous call to
InsertRecord()
or UpdateRecord()
has already been
made.
This function must be called before any attempt is made to write to a column otherwise subsequent write operations raise a CommsDbServer 12 panic.
Once this function has completed successfully, no attempt can be
made to read from a column until either PutRecordChanges()
or
CancelRecordChanges()
has been called to complete the record
insertion operation, otherwise the read operations raise a CommsDbServer 10
panic.
|
TInt DeleteRecord();
Deletes the record at the current cursor position.
Note:
This function raises a CommsDbServer 3 panic if a previous call to
InsertRecord()
or UpdateRecord()
has been
made.
|
TInt PutRecordChanges(TBool aHidden=EFalse);
Withdrawn in 6.0
Confirms changes made to a record which were started by calls to one
ofInsertRecord()
or UpdateRecord()
.
The record can be marked as hidden by passing ETrue
as a
parameter. By default, records are hidden.
Note:
A call to one of either InsertRecord()
or
UpdateRecord()
must have previously been made otherwise the
function raises a CommsDbServer 4 panic.
|
|
TInt PutRecordChanges(TBool aHidden=EFalse, TBool aReadOnly =EFalse);
Supported from 6.0
Confirms changes made to a record which were started by calls to one
ofInsertRecord()
or UpdateRecord()
.
The record can be marked as hidden by passing ETrue
as a
parameter. By default, records are hidden.
Note:
A call to one of either InsertRecord()
or
UpdateRecord()
must have previously been made otherwise the
function raises a CommsDbServer 4 panic.
|
|
void CancelRecordChanges();
Supported from 6.0
Abandons changes made to a record which were started by calls to
either:InsertRecord()
or UpdateRecord()
.
Note:
A call to one of
eitherInsertRecord()
orUpdateRecord()
must have
previously been made otherwise the function raises a CommsDbServer 5
panic.
TInt CancelRecordChanges();
Withdrawn in 6.0
Abandons changes made to a record which were started by calls to
either:InsertRecord()
or UpdateRecord()
.
Note:
A call to one of
eitherInsertRecord()
orUpdateRecord()
must have
previously been made otherwise the function raises a CommsDbServer 5
panic.
|
void ReadTypeAttrib(const TDesC& aColumn, TDbColType& aColType, TUint32& aAttrib);
Gets the type and the attributes of a specific column within the current
record and puts them into a TDbColType
object and a reference to
an unsigned integer respectively. The column is identified by the name supplied
in the descriptor aColumn
.
The column type is described by the TDbColType
enumerator
defined in d32dbms.h.
The column attributes are one or more of the
valuesTDbCol::ENotNull
andTDbCol::EAutoIncrement
defined in d32dbms.h.
Notes:
This function must not be called if any of the operations involved in
inserting or updating a record are still outstanding, otherwise the function
raises a CommsDbServer 10 panic. For example, the panic is raised if this
function is called between calls
toUpdateRecord()
andPutRecordChanges()
.
This panic is also raised if this function is called after the view has been closed.
|
|
void ReadUintL(const TDesC& aColumn, TUint32& aValue);
Reads an unsigned integer value located in a specific column within the
current record and copies it into a reference to an unsigned integer. The
column is identified by the name supplied in the
descriptoraColumn
.
If the column in the current record has a NULL
value and the
table has a template record, then the unsigned integer value located in the
corresponding column in that template record is read and copied
intoaValue
.
If the column in the current record has a NULL
value and the
table does not have a template record, then the function leaves.
Notes:
This read operation must not occur if any of the operations involved in
inserting or updating a record are still outstanding, otherwise the function
raises a CommsDbServer 10 panic. For example, the panic is raised if this
function is called between calls
toUpdateRecord()
andPutRecordChanges()
.
This panic is also raised if this function is called after the view has been closed.
|
|
void ReadBoolL(const TDesC& aColumn, TBool& aValue);
Reads a boolean value located in a specific column within the current
record and copies it into a specified value. The column is identified by the
name supplied in the descriptor aColumn
.
If the column in the current record has a NULL
value and the
table has a template record, then the value located in the corresponding column
in that template record is read and copied into aValue
.
If the column in the current record has a NULL value and the table does not have a template record, then the function leaves.
Notes:
This read operation must not occur if any of the operations involved in
inserting or updating a record are still outstanding, otherwise the function
raises a CommsDbServer 10 panic. For example, the panic is raised if this
function is called between calls
toUpdateRecord()
andPutRecordChanges()
.
This panic is also raised if this function is called after the view has been closed.
|
|
void ReadTextL(const TDesC& aColumn, TDes8& aValue);
Reads narrow (ASCII) text located in a specific column within the current
record and copies it into an 8 bit modifiable descriptor. The column is
identified by the name supplied in the descriptor aColumn
.
If the column in the current record has a NULL
value and the
table has a template record, then the text located in the corresponding column
in that template record is read and copied into aValue
.
If the column in the current record has a NULL
value and the
table does not have a template record, then the length of the
descriptoraValue
is set to zero and the descriptor contains no
text.
The maximum length of text expected by this function is the value of the
constant KCommsDbSvrMaxColumnNameLength
defined in cdblen.h.
The maximum length of aValue
supplied by the caller can,
therefore, be the same.
Notes:
This read operation must not occur if any of the operations involved in
inserting or updating a record are still outstanding, otherwise the function
raises a CommsDbServer 10 panic. For example, the panic is raised if this
function is called between calls
toUpdateRecord()
andPutRecordChanges()
.
This panic is also raised if this function is called after the view has been closed.
|
|
void ReadTextL(const TDesC& aColumn, TDes16& aValue);
Reads wide (Unicode) text located in a specific column within the current
record and copies it into a 16 bit modifiable descriptor. The column is
identified by the name supplied in the descriptor aColumn
.
If the column in the current record has a NULL
value and the
table has a template record, then the text located in the corresponding column
in that template record is read and copied into aValue
.
If the column in the current record has a NULL value and the table does
not have a template record, then the length of the
descriptoraValue
is set to zero and the descriptor contains no
text.
The maximum length of text expected by this function is the value of the
constant KCommsDbSvrMaxColumnNameLength
defined in cdblen.h. The
maximum length of aValue
supplied by the caller can, therefore, be
the same.
Notes:
This read operation must not occur if any of the operations involved in
inserting or updating a record are still outstanding, otherwise the function
raises a CommsDbServer 10 panic. For example, the panic is raised if this
function is called between calls
toUpdateRecord()
andPutRecordChanges()
.
This panic is also raised if this function is called after the view has been closed.
|
|
void ReadColumnLengthL(const TDesC& aColumn, TInt& aLength);
Gets the length of a specific column within the current record and copies
it into a reference to an integer. The column is identified by the name
supplied in the descriptor aColumn
.
If the length of the column is zero and the table has a template record,
then the length of the corresponding column in that template record is copied
into aValue
.
Notes:
This read operation must not occur if any of the operations involved in
inserting or updating a record are still outstanding, otherwise the function
raises a CommsDbServer 10 panic. For example, the panic is raised if this
function is called between calls
toUpdateRecord()
andPutRecordChanges()
.
This panic is also raised if this function is called after the view has been closed.
|
|
HBufC* ReadLongTextLC(const TDesC& aColumn);
Reads the long text located in a specific column within the current
record and copies this text to a heap descriptor. The heap descriptor is
allocated and its pointer returned by this function. The column is identified
by the name supplied in the descriptor aColumn
.
If the column in the current record has a NULL
value and the
table has a template record, then the long text located in the corresponding
column in that template record is read and copied.
If the column in the current record has a NULL
value and the
table does not have a template record, then the length of the returned heap
descriptor is zero and the descriptor contains no text.
While the text in columns retrieved by
theReadTextL()
functions is limited in length, there is no
restriction on the length of long text.
Notes:
This read operation must not occur if any of the operations involved in
inserting or updating a record are still outstanding, otherwise the function
raises a CommsDbServer 10 panic. For example, the panic is raised if this
function is called between calls
toUpdateRecord()
andPutRecordChanges()
.
This panic is also raised if this function is called after the view has been closed.
|
|
|
void WriteUintL(const TDesC& aColumn, const TUint32& aValue);
Writes an unsigned integer value to a specific column within the current
record. The column is identified by the name supplied in the
descriptoraColumn
.
An earlier call to
eitherUpdateRecord()
orInsertRecord()
must have been
made before calling this function otherwise the function raises a CommsDbServer
12 panic. This panic is also raised if this function is called after the view
has been closed.
|
|
void WriteBoolL(const TDesC& aColumn, const TBool& aValue);
Writes a Boolean value to a specific column within the current record.
The column is identified by the name supplied in the
descriptoraColumn
.
An earlier call to
eitherUpdateRecord()
orInsertRecord()
must have been
made before calling this function otherwise the function raises a CommsDbServer
12 panic. This panic is also raised if this function is called after the view
has been closed.
|
|
void WriteTextL(const TDesC& aColumn, const TDesC8& aValue);
Writes the narrow (ASCII) text from an 8 bit descriptor to a specific
column within the current record. The column is identified by the name supplied
in the descriptor aColumn
.
The length of the text cannot be greater than the value of the
constantKCommsDbSvrMaxColumnNameLength
defined in cdblen.h,
otherwise the function leaves.
An earlier call to
eitherUpdateRecord()
orInsertRecord()
must have been
made before calling this function otherwise the function raises a CommsDbServer
12 panic.
|
|
void WriteTextL(const TDesC& aColumn, const TDesC16& aValue);
Writes the wide (UNICODE) text from a 16 bit descriptor to a specific
column within the current record. The column is identified by the name supplied
in the descriptor aColumn
.
The length of the text cannot be greater than the value of the
constantKCommsDbSvrMaxColumnNameLength
defined in cdblen.h,
otherwise the function leaves.
An earlier call to
eitherUpdateRecord()
orInsertRecord()
must have been
made before calling this function otherwise the function raises a CommsDbServer
12 panic. This panic is also raised if this function is called after the view
has been closed.
|
|
void WriteLongTextL(const TDesC& aColumn, const TDesC& aValue);
Writes the long text from a descriptor to a specific column within the
current record. The column is identified by the name supplied in the
descriptoraColumn
.
An earlier call to
eitherUpdateRecord()
orInsertRecord()
must have been
made before calling this function otherwise the function raises a CommsDbServer
12 panic. This panic is also raised if this function is called after the view
has been closed.
While the text written by WriteTextL()
functions is limited
in length, there is no restriction on the length of long text.
|
|
void SetNullL(const TDesC& aColumn);
Sets a specific column within the current record to NULL
.
For text type columns, this is the same as setting the column to an empty
string. The column is identified by the name supplied in the
descriptoraColumn
.
An earlier call to
eitherUpdateRecord()
orInsertRecord()
must have been
made before calling this function otherwise the function raises a CommsDbServer
12 panic. This panic is also raised if this function is called after the view
has been closed.
|
void GetTableName(TDes& aTableName) const;
Gets the name of the table associated with this view and copies it into the descriptor supplied by the caller.
|