SophiaFramework UNIVERSE 5.3 |
BREW 2.0 | BREW 2.1 | BREW 3.1 | BREW 4.0 |
---|---|---|---|
○ | ○ | ○ | ○ |
パブリック関数 | |
---|---|
VoidPtr |
GetField(
AEEDBFieldName* name
, AEEDBFieldType* type
, UInt16Ptr length
)
フィールドからフィールド名、フィールドタイプ、フィールドの長さ、フィールドのデータを取得します。
|
Bool |
GetFieldDWord(
UInt32Ptr field
)
フィールドタイプが AEE_FT_DWORD の場合に、4 バイトのフィールド値を取得します。
|
WCharPtr |
GetFieldString( Void )
フィールドタイプが AEEDB_FT_STRING の場合に、文字列型のフィールド値を取得します。
|
Bool |
GetFieldWord(
UInt16Ptr field
)
フィールドタイプが AEE_FT_WORD の場合に、2 バイトのフィールド値を取得します。
|
UInt16 |
GetID( Void )
指定したレコードの ID を取得します。
|
AEEDBFieldType |
NextField(
AEEDBFieldName* name
, UInt16Ptr length
)
レコード内の次のフィールドを取得します。
|
SFCError |
Remove(
SFBDBRecordSmpPtr record
)
レコードをデータベースから削除して、SFBDBRecord オブジェクトを解放します。
|
Void |
Reset( Void )
レコード内の最初のフィールドをカレントフィールドにします。
|
SFCError |
Update(
AEEDBField* fields
, SInt32 fieldsCount
)
任意のレコードを更新します。
|
プロテクト関数 | |
---|---|
static SFBBaseSmp |
FactoryByCreate(
AEECLSID id
, SFCErrorPtr exception = null
)
(SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを生成します。
|
static SFBBaseSmp |
FactoryByQuery(
SFBQuerySmpConstRef query
, AEECLSID id
, SFCErrorPtr exception = null
)
(SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを指定した SFBQuery インスタンスを使用して生成します。
|
[ public ] VoidPtr GetField( AEEDBFieldName* name // フィールド名へのポインタ AEEDBFieldType* type // フィールドタイプへのポインタ UInt16Ptr length // フィールドの長さ( バイト数 )へのポインタ );
フィールドの内容を取得します。
// SFBDataMgr インスタンスを作成する SFBDBMgrSmp dbmgr = SFBDBMgr::NewInstance(); SFBDatabaseSmp database; SFBDBRecordSmp record; AEEDBFieldName fieldName; AEEDBFieldType fieldType; UInt16 len; VoidPtr data; // データベースを開く database = dbmgr->OpenDatabase("MyDataBase.db", true); // データベース内から指定したインデックスのレコードを取得する record = database->GetRecordByID(3); // 次のフィールドを取得する fieldType = record->NextField(&fieldName, &len); // フィールドの内容を取得する data = record->GetField(&fieldName, &fieldType, &len);
4 バイトのフィールド値を取得します。
// SFBDataMgr インスタンスを作成する SFBDBMgrSmp dbmgr = SFBDBMgr::NewInstance(); SFBDatabaseSmp database; SFBDBRecordSmp record; AEEDBFieldName fieldName; AEEDBFieldType fieldType; UInt16 len; UInt32 val; // データベースを開く database = dbmgr->OpenDatabase("MyDataBase.db", true); // データベース内から指定したインデックスのレコードを取得する record = database->GetRecordByID(0); // 次のフィールドを取得する fieldType = record->NextField(&fieldName, &len); // 4 バイトのフィールド値を取得する record->GetFieldDWord(&val);
[ public ] WCharPtr GetFieldString(Void);
文字列型のフィールドの値を取得します。
// SFBDataMgr インスタンスを作成する SFBDBMgrSmp dbmgr = SFBDBMgr::NewInstance(); SFBDatabaseSmp database; SFBDBRecordSmp record; AEEDBFieldName fieldName; AEEDBFieldType fieldType; UInt16 len; UInt32 val; // データベースを開く database = dbmgr->OpenDatabase("MyDataBase.db", true); // データベース内から指定したインデックスのレコードを取得する record = database->GetRecordByID(0); // 次のフィールドを取得する fieldType = record->NextField(&fieldName, &len); // 文字列型のフィールドの値を取得する str = SFXWideString(record->GetFieldString());
2 バイトのフィールド値を取得します。
// SFBDataMgr インスタンスを作成する SFBDBMgrSmp dbmgr = SFBDBMgr::NewInstance(); SFBDatabaseSmp database; SFBDBRecordSmp record; AEEDBFieldName fieldName; AEEDBFieldType fieldType; UInt16 len; UInt32 val; // データベースを開く database = dbmgr->OpenDatabase("MyDataBase.db", true); // データベース内から指定したインデックスのレコードを取得する record = database->GetRecordByID(0); // 次のフィールドを取得する fieldType = record->NextField(&fieldName, &len); // 2 バイトのフィールド値を取得する record->GetFieldWord(&val);
[ public ] UInt16 GetID(Void);
レコードの ID を取得します。
// SFBDataMgr インスタンスを作成する SFBDBMgrSmp dbmgr = SFBDBMgr::NewInstance(); SFBDatabaseSmp database; SFBDBRecordSmp record; UInt16 id; // レコードに設定するフィールドを作成する UInt32 val = 32; AEEDBField field = {AEEDB_FT_DWORD, AEEDBFIELD_TEXT, 1, &val}; // データベースを開く database = dbmgr->OpenDatabase("MyDataBase.db", true); // データベース内にレコードを 1 つ作成する record = database->CreateRecord(&field, 1); // レコードの ID を取得する id = record->GetID();
[ public ] AEEDBFieldType NextField( AEEDBFieldName* name // 次のフィールドの名前へのポインタ UInt16Ptr length // 次のフィールドの長さへのポインタ );
次のフィールドを取得します。
// SFBDataMgr インスタンスを作成する SFBDBMgrSmp dbmgr = SFBDBMgr::NewInstance(); SFBDatabaseSmp database; SFBDBRecordSmp record; AEEDBFieldName fieldName; AEEDBFieldType fieldType; UInt16 size; // データベースを開く database = dbmgr->OpenDatabase("MyDataBase.db", true); // データベース内から指定したインデックスのレコードを取得する record = database->GetRecordByID(0); // 次のフィールドを取得する fieldType = record->NextField(&fieldName, &size);
[ public ] SFCError Remove( SFBDBRecordSmpPtr record // 削除する SFBDBRecord インターフェース );
レコードをデータベースから削除します。
// SFBDataMgr インスタンスを作成する SFBDBMgrSmp dbmgr = SFBDBMgr::NewInstance(); SFBDatabaseSmp database; SFBDBRecordSmp record; // データベースを開く database = dbmgr->OpenDatabase("MyDataBase.db", true); // データベース内から指定したインデックスのレコードを取得する record = database->GetRecordByID(0); // レコードを削除して、オブジェクトを解放する record->Remove(record);
[ public ] Void Reset(Void);
[ public ] SFCError Update( AEEDBField* fields // 新しいフィールド値のセットへのポインタ SInt32 fieldsCount // 新しいセット内のフィールドの数 );
レコードを更新します。
// SFBDataMgr インスタンスを作成する SFBDBMgrSmp dbmgr = SFBDBMgr::NewInstance(); SFBDatabaseSmp database; SFBDBRecordSmp record; // レコードに設定するフィールドを作成する AChar str[] = {"Update!!!"}; AEEDBField field = {AEEDB_FT_STRING, AEEDBFIELD_TEXT, STRLEN(str), str}; // データベースを開く database = dbmgr->OpenDatabase("MyDataBase.db", true); // データベース内から指定したインデックスのレコードを取得する record = database->GetRecordByID(0); // レコードを更新する record->Update(&field, 1);
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |