我正在尝试执行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);
答案 0 :(得分:1)
您使用相同的语句对象吗?如果是这样,它就行不通。 你使用OCI_Commit()吗?如果没有,将不会发生任何事情!