hur.cn - 华软网

 热门搜索

数据更新问题(过来讨论一下阿)

  作者:未知    来源:网络    更新时间:2017/12/5
update ........        
if sqlca.sqlcode<>0 or sqlca.sqlnrows=0 then
ls_errtext=sqlca.sqlerrtext
rollback ;
messagebox('错误信息','更新拣货打印标记失败!'+ls_errtext,stopsign!)
else
commit;
end if

我提交时,用上边的语句,可是有些时候,数据库中还是没有更新上数据。郁闷阿

------华软网友回答------
建议这么做,通过判断数据窗口控件的Update()函数来更新数据,并判断返回值来最终提交或者回滚事务。
//**************************************************************************************************//
  Integer = Update({accept,{,resetflag}})把数据窗口控件中所有数据修改传送到数据库,更新数据库中数据。
  Update()函数在更新数据库之前会调用AcceptText()函数把“漂浮”在当前行/列上的编辑框中的内容放入到数据
  窗口的缓冲区去。accept:(boolean),指定数据窗口控件在更新数据库之前是否自动执行AcceptText()的功能。
  resetflag(boolean),指明更新数据库后是否自动复位更新标志。
//**************************************************************************************************//

long li_rc
dw_1.acceptText()   //将用户输入的数据放入到数据窗口的缓冲区中
li_rc = dw_1.Update(true,false)
IF li_rc = 1 THEN
COMMIT USING SQLCA;
dw_1.ResetUpdate ( )  //清除修改标志
ELSE
ROLLBACK USING SQLCA;
END IF
------华软网友回复------
我没有用数据窗口,我直接执行的sql语句,更新的。
------华软网友回复------
PB在处理和管理数据的优势就是它的数据窗口,你既然用了PB,就要充分利用好它优势上的方便,不然和用DELPHI和VB做数据库软件就没有区别了。我只是建议,作为一个PB的爱好者。

那你一定是用SQL语句如Insert into …… Update table(column)value……来更新数据库了吧。如果不能成功的话,一般错误会出现在你SQL语句上的语法,或者语句中的字段名和数据库中表字段是否书写一致,或者顺序一致。你检查一下。
------华软网友回复------
语句没问题,只是有些时候不成功
------华软网友回复------
作孽啊!用了PB居然不用数据窗口---这个PB屈指可数的闪光点,那你还用PB干吗啊!还不如用别的那!
------华软网友回复------
有的时候sql语句还是必要的
------华软网友回复------
有没有用了触发器?
------华软网友回复------
就是很简单的一条update语句,我的窗口里都市用的数据窗口,可是我还需要更新别的表。
------华软网友回复------
你把你的UPDATE代码贴出来吧,这大家样才可以帮你分析你哪里有问题,是吧?      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。