mco_get_last_error
接口适用于实时数据库 RT 。
返回导致事务进入错误状态的 SmartEDB 函数的最后一个返回代码。
事务进入错误状态后,该事务内的后续操作将返回 MCO_E_TRANSACT
,这样调用 mco_get_last_error()
将返回最初导致错误条件的操作的错误代码。
MCO_RET mco_get_last_error(
/*IN*/ mco_trans_h t
);
参数
t
mco_trans_h
由 mco_trans_start()
函数返回的 mco_trans_h
事务句柄。
返回
MCO_S_OK
如果没有错误发生。
MCO_RET
导致事务进入错误状态的错误。
MCO_RET 值 | 导致事务进入错误状态的错误。如果没有错误发生MCO_S_OK |
示例
/* 应用程序代码片段 */
const char * dbname = "SimpleDb";
int main(int argc, char* argv[])
{
mco_db_h db;
MCO_RET rc;
mco_device_t dev;
mco_db_params_t db_params;
mco_trans_h t;
...
rc = mco_db_open_dev( dbname, simple_get_dictionary(), &dev, 1, &db_params );
if ( MCO_S_OK != rc )
{
rc = mco_db_connect( dbname, &db );
...
rc = mco_trans_start(db, MCO_READ_ONLY, MCO_TRANS_FOREGROUND, &t);
if ( MCO_S_OK == rc )
{
...
// Perform database operations within the transaction
...
rc = mco_get_last_error( t );
if ( MCO_S_OK != rc )
{
mco_trans_rollback(t);
}
...
}
}
...
}
文件
- 头文件:
mco.h
- 源文件:
mcotrans.c
- 库:
libmcolib.a