服务器 频道

Oracle常用的OCI函数之五

  【IT168 服务器学院】11.提取结果

  sword OCIStmtFetch (
  OCIStmt     *stmtp,//语句句柄
                      OCIError    *errhp,
                      ub4         nrows, //从当前位置处开始一次提取的记录数,对于数据变量,可以>1,否则不能>1
                      ub2         orientation,//提取的方向:OCI_FETCH_NEXT
  ub4         mode //OCI_DEFAULT
    )

  eg
    while ((swResult=OCIStmtFetch stmtp errhp,1,OCI_FETCH_NEXT,OCI_DEFAULT)) != OCI_NO_DATA)
  {
  ……
  }

  12.事务操作

  开始一个事务
  sword OCITransStart (
  OCISvcCtx    *svchp,
                       OCIError     *errhp,
                       uword        timeout, //**
                       ub4          flags );
  **注:
  1. Timeout:
  当flag=OCI_TRANS_RESUME:它表示还有多少秒事务将被激活
  =OCI_TRANS_NEW: 事务响应的超时时间(秒)
  2. Flags:指定一个新的事务还是已有事务
  =OCI_TRANS_NEW:定义一个新的事务
  =OCI_TRANS_RESUME

  准备一个事务:
  sword OCITransPrepare (
  OCISvcCtx    *svchp,
                         OCIError     *errhp,
                         ub4          flags );//OCI_DEFAULT

  sword OCITransForget (
  OCISvcCtx     *svchp,
                        OCIError      *errhp,
                        ub4           flags );//OCI_DEFAULT

  断开一个事务:
  sword OCITransDetach (
  OCISvcCtx    *svchp,
                        OCIError     *errhp,
  ub4          flags );//OCI_DEFAULT

   提交一个事务:
  sword OCITransCommit (
  OCISvcCtx    *svchp,  //服务环境句柄
                               OCIError     *errhp,
                               ub4          flags ); //OCI_DEFAULT
  回滚一个事务
  sword OCITransRollback (
  dvoid        *svchp,
                               OCIError     *errhp,
                               ub4          flags ); //OCI_DEFAULT

  
  

0
相关文章