почему в следующем коде апдейт не находит строчку вставленную первым инсертом. код выполняется без ошибок ........... { char *insert; if(g->cmd==CMD_PRIHOD||g->cmd==CMD_RASHOD||g->cmd==CMD_REPRICE) insert = "INSERT INTO roz_control VALUES (:id_apparat, :command, 0, sysdate, 0, :doc_id, 0,0,0, 'FAILURE', -1 )"; else insert = "INSERT INTO roz_control VALUES (:id_apparat, :command, 0, sysdate, 0, 0, 0,0,0, 'FAILURE', -1 )"; syslog(LOG_INFO,"%s:try to execute '%s'",__func__,insert); if( oparse(&g->cda, insert, (sb4) -1, FALSE, (ub4) VERSION_7) ) do_exit_with_err_report(g,EXIT_FAILURE); obndrv( &g->cda, (text*)":id_apparat",-1, (ub1*)&g->id_kassa, (sword)sizeof(g->id_kassa), SQLT_INT,-1, (sb2*)0, (text*)0,-1,-1); obndrv( &g->cda, (text*)":command", -1, (ub1*)commands[g->cmd], -1, SQLT_STR,-1, (sb2*)0, (text*)0,-1,-1); if(g->cmd==CMD_PRIHOD||g->cmd==CMD_RASHOD||g->cmd==CMD_REPRICE) obndrv( &g->cda, (text*)":doc_id",-1, (ub1*)g->doc_num_str, -1, SQLT_STR,-1, (sb2*)0, (text*)0,-1,-1); if ( oexec( &g->cda ) ) do_exit_with_err_report(g,EXIT_FAILURE); if(ocom(&g->lda)){ text msg[512]; oerhms(&g->lda, g->lda.rc, msg, (sword) sizeof msg); syslog(LOG_ERR, "%s:%s:ORACLE ERROR:%s", __func__, (g->lda.fc > 0)?(oci_func_tab[g->lda.fc]):(text*)"UNCKNOWN", msg); } } //---------------------------------------------------- { char update[] = "update roz_control set error_ekka = 1, status = 'SUCCESS'" " where cmd = :command and error_ekka = -1 and apparat_id = :id_apparat and data = (select max(data) from roz_control where apparat_id = :id_apparat)"; syslog(LOG_INFO,"%s:try to execute '%s'",__func__,update); if( oparse(&g->cda, update, (sb4) -1, FALSE, (ub4) VERSION_7) ) do_exit_with_err_report(g,EXIT_FAILURE); obndrv( &g->cda, (text*)":id_apparat",-1, (ub1*)&g->id_kassa, (sword)sizeof(g->id_kassa), SQLT_INT,-1, (sb2*)0, (text*)0,-1,-1); obndrv( &g->cda, (text*)":command", -1, (ub1*)commands[g->cmd], -1, SQLT_STR,-1, (sb2*)0, (text*)0,-1,-1); if ( oexec( &g->cda ) ) do_exit_with_err_report(g,EXIT_FAILURE); if (ocom(&g->lda)){ text msg[512]; oerhms(&g->lda, g->lda.rc, msg, (sword) sizeof msg); syslog(LOG_ERR, "%s:%s:ORACLE ERROR:%s", __func__, (g->lda.fc > 0)?(oci_func_tab[g->lda.fc]):(text*)"UNCKNOWN", msg); } } ......................... ????

Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от cvv

Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от cvv

Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от cvv

Ответ на:
комментарий
от cvv

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Wine+OCI (2002)
- Новости OCI C++ Library (2000)
- Форум ORACLE CALL INTERFACE (OCI) (2003)
- Форум Oci - проблема с компиляцией (2002)
- Форум Дока на Oracle OCI (2005)