分类: oracle
2008-06-30 11:36:14
sword ocibindbypos ( ocistmt *stmtp,indp的合理使用就可以解决了,原来一致用null的。看看oci文档就明白了,
ocibind **bindpp,
ocierror *errhp,
ub4 position,
dvoid *valuep,
sb4 value_sz,
ub2 dty,
dvoid *indp,
ub2 *alenp,
ub2 *rcodep,
ub4 maxarr_len,
ub4 *curelep,
ub4 mode );
input indicator value | action taken by oracle |
---|---|
-1 | oracle assigns a null to the column, ignoring the value of the input variable. |
>=0 | oracle assigns the value of the input variable to the column. |
sword ocidefinebypos ( ocistmt *stmtp,用define取数据的时候也必须设置indp为什么呢? 我原来只设置了一个rlenp,个人认为一个长度变量就可以控制取出来的数据长度的,但我细细想来不是这样的,null数据怎么办呢?
ocidefine **defnpp,
ocierror *errhp,
ub4 position,
dvoid *valuep,
sb4 value_sz,
ub2 dty,
dvoid *indp,
ub2 *rlenp,
ub2 *rcodep,
ub4 mode );