hur.cn - 华软网

 热门搜索

为什么调用update()不能保存??

  作者:未知    来源:网络    更新时间:2018/10/11
列位大侠,我有以下语句:
按下按钮后许标一直不动,好像是死机。请高手帮助,多谢。

dw_1.settransobject(sqlca)
SQLCA.AutoCommit = True

integer rc 
 rc=dw_1.Update() 
IF rc = 1 THEN 
COMMIT USING SQLCA; 
ELSE 
messagebox('','err')
ROLLBACK USING SQLCA;
END IF
------华软网友回答------
1、另有无其它代码
2、数据窗口有无问题?可手工更新数据窗口试一下
2、单步调试一下看详细哪行出现问题?
------华软网友回复------
表被他人锁住了,更新的时候就象死机一样
------华软网友回复------
请用规范方法:

integer rtn

CONNECT USING SQLCA;

dw_employee.SetTransObject(SQLCA)

rtn = dw_employee.Update()

IF rtn = 1 THEN

        COMMIT USING SQLCA;

ELSE

        ROLLBACK USING SQLCA;

END IF
------华软网友回复------
只需到执行update()函数就死了。下面的代码不能执行。
------华软网友回复------
在DW里的dberror事件里加上MessageBox('Error',sqlerrtext),看看有没有毛病提醒
------华软网友回复------
dw_1.settransobject(sqlca)
SQLCA.AutoCommit = True //注意:运用autocommit=true后,不应该运用commit和rollback命令,由于所有数据库操作都被自动提交了。

integer rc 
 rc=dw_1.Update() //一般运用update(true,false),尤其是在运用了autocommit=false的情况下。与ResetUpdate ( )联合运用
IF rc = 1 THEN 
COMMIT USING SQLCA; 
ELSE 
messagebox('','err') //一般不在rollback前运用消息框,理由是在消息框被关闭前,数据库会一直被锁住,会影响他人的运用。所以能够思量把犯错提醒移到后面去。
ROLLBACK USING SQLCA;
END IF
     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。