OCI Lib - 无法执行更新

时间:2014-03-11 09:49:59

标签: c oci

我正在尝试执行2个查询(SELECT AND UPDATE)。 选择有效,但更新不会进行任何更改。我做错了什么?

这里有一些代码:

  OCI_Statement* st;
  OCI_Resultset* rs;
  query[0] ='\0';
  //cn is connection
  st = OCI_StatementCreate(cn);
  sprintf (query, "SELECT ..");
  printf (query);
  OCI_ExecuteStmt(st, query);
  rs = OCI_GetResultset(st);
  //this works
  while (OCI_FetchNext(rs)){


  }
  query[0] ='\0';
  //query is correct; it does updates in the console
  sprintf(query, "update vqc set vqc_u = 'J' where vqc_id >= 1 and vqc_id <= 12" );
  //fails
  //neither 
  OCI_ExecuteStmt(st, query);
  //nor
  OCI_Prepare(st, query);
  OCI_Execute(st);

  printf (query);

1 个答案:

答案 0 :(得分:1)

您使用相同的语句对象吗?如果是这样,它就行不通。 你使用OCI_Commit()吗?如果没有,将不会发生任何事情!