autoid get
此函数通过单次调用读取所有固定大小(非字符、字符串或 BLOB 类型)字段的值。C 结构指针值将接收固定大小的数据。
MCO_RET classname_autoid_get(
/*IN*/classname * handle,
/*OUT*/ autoid_t *oid
);
参数
handle
classname *
类句柄类型变量的地址。
oid
autoid_t
指向 autoid_t 类型的指针,该指针将接收由句柄引用的对象的 autoid 值。
返回
MCO_S_OK
成功定位目标。
MCO_E_TRANSACT
事务处于错误状态。
MCO_ERR_OBJECT_HANDLE
无效的对象句柄。
示例
以下代码片段展示了如何使用 classname_autoid_get()
函数来获取数据库对象的 autoid 值。
/* 模式文件代码片段 */
class Department
{
autoid[1000];
string name;
string code;
unique tree<name> Iname;
unique tree<code> Icode;
};
class Employee
{
string name;
autoid_t dept;
unique tree<name> Iname;
unique tree<dept,name> Idept_name;
};
/* 应用程序代码片段 */
int main(int argc, char* argv[])
{
MCO_RET rc = MCO_S_OK;
mco_db_h db;
mco_trans_h t;
char dept_code = "CS";
Department dept;
...
rc = mco_trans_start(db, MCO_READ_WRITE, MCO_TRANS_FOREGROUND, &t);
if ( MCO_S_OK == rc )
{
rc = Department_Icode_find(t, dept_code, strlen(dept_code), &dept);
if ( MCO_S_OK == rc )
{
Department dept;
autoid_t autoid = 0;
...
Department_autoid_get(&dept, &dept_id);
...
}
}
}