有一个存储过程执行的是取A表中的数据写入B表中,
该存储过程在PL/SQL当中可以正确执行,执行后可以在B表中查到相关数据;
但是在程序当中调用该存储过程执行后,在B表中却查不到数据;
好像该存储过程没有执行似的,执行时程序没有报错;
单步跟踪程序,可以看到该存储过程被调用并执行;
那位XDJM遇到这种情况,望不吝赐教!

解决方案 »

  1.   

    不知你用何种方式联到oracle的.bde/ado/odac?
    如果你用bde,请检查TDatabase的SQLPASSTHRU MODE参数,看它是否为SHARED AUTOCOMMIT
    如果不是,在执行完存储过程后,必须再执行commit,否则数据不会被写入
      

  2.   

    谢谢楼上的答复!
    存储过程当中已经有Commit命令!
    系统是B/S架构的!
    调用其他的存储过程可以正确执行!
    而且该存储过程在PL/SQL中也可以正确运行!
    实在不行就不调用存储过程
    直接把SQL放程序中执行!
    但是这种情况真的好奇怪!