insert
此函数将提供的值插入到序列中。
MCO_RET classname_fieldname_insert(
/*IN*/ classname *handle,
/*IN*/ mco_seq_no_t pos,
/*IN*/ TYPE *values,
/*IN*/ mco_size_t n_items
);
参数
handle
classname
指向类名句柄的指针。
pos
mco_seq_no_t
要插入值的位置编号(从零开始)。
values
TYPE
指向序列中第一个值的指针。
n_items
mco_size_t
要从值中添加到序列中的元素数目。
返回
MCO_S_OK
输入值成功。
MCO_E_ACCESS
该类处理的事务范围是 MCO_READ_ONLY
。
示例
#define DAY_THREE 3
#define DAY_THREE_PRICE 30
uint4 day_to_insert[1] = { DAY_THREE };
float price_to_insert[1] = { DAY_THREE_PRICE };
...
mco_trans_h t;
mco_cursor_t cur;
...
mco_trans_start(db, MCO_READ_WRITE, MCO_TRANS_FOREGROUND, &t);
rc = Quote_by_symbol_index_cursor(t, &cur);
if (MCO_S_OK == rc)
{
rc = Quote_by_symbol_search(t, &cur, MCO_GE, "IBM",
(uint2)(sizeof("IBM")));
if (MCO_S_OK == rc)
{
//insert here
Quote q;
Quote_new(t, &q);
rc = Quote_from_cursor(t, &cur, &q);
rc = Quote_day_iterator(&q, &it);
if (MCO_S_OK == rc)
{
rc = Quote_day_search(&q, &it,
DAY_THREE, MCO_SEQ_BOUNDARY_EXCLUSIVE,
0, MCO_SEQ_BOUNDARY_OPEN);
mco_seq_no_t pos = it.first_seq_no;
rc = Quote_day_insert(&q, pos, day_to_insert, 1);
rc = Quote_price_insert(&q, pos, price_to_insert, 1);
rc = mco_trans_commit(t);
}
}
}