举个例子,有程序A  EXEC SQL INSERT INTO TABLE VALUSE(:Name,:Password);
 运行程序A,然后执行程序B:
 EXEC SQL SELECT NAME ,PASSWORD INTO NameBuffer,PasswordBuffer WHERE NAME=Name;
 程序B却提示找不到该值,明明程序A已经插入数据库了啊,必须在程序A里面执行EXEC SQL COMMIT WORK RELEASE;这句过后,程序B才能找到该值,可是执行WORK RELEASE过后程序A不就和数据库断开了吗,有没有什么办法让A不断开就能让值真正入库啊?

解决方案 »

  1.   

    还有执行程序A过后如果没执行EXEC SQL COMMIT WORK RELEASE这句的话,到控制台里面去select刚插入那个值也查不到,WORK RELEASE过后就能查到了
      

  2.   

    你把 A、B 放在一个过程(procedure)里面 就可以实现了
      

  3.   

    commit 提交更改
    release 释放数据库连接
      

  4.   

    commit 提交更改
    release 释放数据库连接
      

  5.   

    commit 提交变更
    release 释放数据库连接
      

  6.   

    能给个关键代码吗? 提交更改这句怎么写, PROC的资料太难找了
      

  7.   

    直接在执行语句后面加
    EXEC SQL COMMIT;
    进行提交就可以改变数据库的值了。
    比如:
    EXEC SQL UPDATE YOURTABLE SET SOMETHING1 = :yourdata1 WHERE SOMETHING2 = :youdata2;
    EXEC SQL COMMIT;