書き込み可能な行のクラスです。 [詳解]
#include <memRecord.h>
公開メンバ関数 | |
void | clear () |
void | del (bool KeysetAlrady=false, bool noSeek=false) |
void | insert () |
bool | read (bool KeysetAlrady=false) |
bool | read (bookmark_td &bm) |
void | save () |
void | update (bool KeysetAlrady=false, bool noSeek=false) |
![]() | |
memoryRecord & | operator= (const memoryRecord &r) |
![]() | |
virtual | ~fieldsBase () |
field | fd (short index) const |
field | fd (const _TCHAR *name) const |
const fielddefs * | fieldDefs () const |
field | getFieldNoCheck (short index) const |
short | indexByName (const _TCHAR *name) const |
bool | isInvalidRecord () const |
field | operator[] (short index) const |
field | operator[] (const _TCHAR *name) const |
field | operator[] (const std::_tstring &name) const |
void | setInvalidRecord (bool v) |
size_t | size () const |
その他の継承メンバ | |
![]() | |
static memoryRecord * | create (fielddefs &fdinfo) |
書き込み可能な行のクラスです。
このクラスは直接生成せず、activeTable::getWritableRecord()にて取得します。
レコードを読み取りには read() を使用します。その際には事前にキー値をフィールドにセットするか、 read(bookmark_td &bm) メソッド に bookmark_td オブジェクトを渡します。事前にキー値をセットした読み取りは、 activeTable::index() で指定したインデックスにて検索されます。
|
virtual |
すべてのフィールドの値をクリアします。
memoryRecordを再実装しています。
void del | ( | bool | KeysetAlrady = false , |
bool | noSeek = false |
||
) |
フィールドにセットした値で read() を行い成功した場合、そのレコードを削除します。 activeTable::index() で指定したインデックスにて read() の検索が行われます。 通常このインデックスはユニークキーでなければなりません。
KeysetAlradyにtrueを指定すると、現在のフィールドの値でなく、この、writableRecordの親の activeTableにて、最後に処理したレコードの値を使って read() が行われます。
失敗すると例外がスローされます。
void insert | ( | ) |
フィールドにセットされた値で レコードをインサートします。
失敗すると例外がスローされます。
フィールドに値をセットする前に、 clear() を呼び出し予期せぬ値が書き込まれるのを防止することをお奨めします。
bool read | ( | bool | KeysetAlrady = false | ) |
フィールドにセットした値で read() を行います。成功すると trueが返ります。
検索は activeTable::index() で指定したインデックスにて行われます。
詳細なエラーが欲しい場合は、 activeTable::table()->stat() にて取得できます。
bool read | ( | bookmark_td & | bm | ) |
bmで指定したブックマーク値で read() を行います。成功すると trueが返ります。
詳細なエラーが欲しい場合は、 activeTable::table()->stat() にて取得できます。
void save | ( | ) |
フィールドにセットした値で read() を行い成功した場合、そのレコードを更新します。 レコードが見つからなかった場合は insert() を実行します。 activeTable::index() で指定したインデックスにて read() の検索が行われます。 通常このインデックスはユニークキーでなければなりません。
失敗すると例外がスローされます。
void update | ( | bool | KeysetAlrady = false , |
bool | noSeek = false |
||
) |
フィールドにセットした値で read() を行い成功した場合、そのレコードを更新します。 レコードが見つからなかった場合や更新に失敗した場合は例外がスローされます。 activeTable::index() で指定したインデックスにて read() の検索が行われます。 通常このインデックスはユニークキーでなければなりません。