hur.cn - 华软网

 热门搜索

急,数据保存问题。(在线等)

  作者:未知    来源:网络    更新时间:2018/4/16
我在数据窗口中使用了editchanged,itemchanged,rowfocustchanged等事件,可是用update()保存时,数据库里没有反应,根本就没用保存。是不是使用了以上几个事件后就不能用update()了。请指教,谢谢。
------华软网友回答------
update和那几个事件没关系,是不是忘了commit
------华软网友回复------
update()之前需要accepttext(),而且你的数据窗在设计时具备update属性.
------华软网友回复------
update()之后还需要commit;
------华软网友回复------
1、数据窗口的update属性要设置,tab_order不能为0.
2、dw_.accepttext(),
3、dw_.commit;

------华软网友回复------
我在保存按钮中是这样写的:
if dw_main.update() = -1 then
rollback;
messagebox("错误","对不起,保存失败!")
else
commit;

badd=false
end if
messagebox("信息","保存成功!")

而且,我也将数据窗口的row属性的allow update打上对勾了。
------华软网友回复------
上面两位说的确实很对,这个问题是初学者经常会犯的错误.首先你要在菜单选项中将"update属性"设置好可以更新,然后在程序中记得要有accepttext(),不然它没法把现在缓冲中的东西读进来的.建议你在更新之前,先判断更新是不是成功,成功了再提交到数据库不然么rollback一下就行了.
------华软网友回复------
dw_main.ACCEPTTEXT()
if dw_main.update() = -1 then
rollback;
messagebox("错误","对不起,保存失败!")
else
commit;

badd=false
end if
messagebox("信息","保存成功!")

这样写了,update()、tab ordre属性也改了,可是还不行啊。
------华软网友回复------
照你所说的情况!
你是不是数据库没连!
------华软网友回复------
1。数据窗口的row属性的allow update打上对勾这是第一步,然后在updateable columns 中选中要更新的列,这步也不可少。
2。debug环境里if dw_main.update() = -1 then  这步设置断点,看看返回值是几。

------华软网友回复------
估计是楼主没有在updateable columns中选择完全要更新的列!
------华软网友回复------
dw_main.ACCEPTTEXT()
if dw_main.update() <>1 then
rollback;
messagebox("错误","对不起,保存失败!")
return 
else
commit;

badd=false
end if
messagebox("信息","保存成功!")

如果改成这样了,还没有提示,那就是保存的列没有设置.可在其update ...(菜单上的)属性中选需要保存的列及表,关键字.

------华软网友回复------
if update(true,true) = 1 then
   commit using sqlca ;
else
   rollback using sqlca ;
end if
------华软网友回复------
就这两句,好好检查一下      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。