CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  基础类

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

楼主wq187(老爷车)2005-04-01 15:48:06 在 PowerBuilder / 基础类 提问

我在数据窗口中使用了editchanged,itemchanged,rowfocustchanged等事件,可是用update()保存时,数据库里没有反应,根本就没用保存。是不是使用了以上几个事件后就不能用update()了。请指教,谢谢。 问题点数:0、回复次数:13Top

1 楼pubble(小小)回复于 2005-04-01 15:50:17 得分 0

update和那几个事件没关系,是不是忘了commitTop

2 楼hornbilltofy()回复于 2005-04-01 15:51:54 得分 0

update()之前需要accepttext(),而且你的数据窗在设计时具备update属性.Top

3 楼hornbilltofy()回复于 2005-04-01 15:55:16 得分 0

update()之后还需要commit;Top

4 楼wlgyhnj(冷风伴天月)回复于 2005-04-01 15:57:56 得分 0

1、数据窗口的update属性要设置,tab_order不能为0.  
  2、dw_.accepttext(),  
  3、dw_.commit;  
  Top

5 楼wq187(老爷车)回复于 2005-04-01 15:59:57 得分 0

我在保存按钮中是这样写的:  
  if   dw_main.update()   =   -1   then  
  rollback;  
  messagebox("错误","对不起,保存失败!")  
  else  
  commit;  
   
  badd=false  
  end   if  
  messagebox("信息","保存成功!")  
   
  而且,我也将数据窗口的row属性的allow   update打上对勾了。Top

6 楼tps1980()回复于 2005-04-01 16:11:21 得分 0

上面两位说的确实很对,这个问题是初学者经常会犯的错误.首先你要在菜单选项中将"update属性"设置好可以更新,然后在程序中记得要有accepttext(),不然它没法把现在缓冲中的东西读进来的.建议你在更新之前,先判断更新是不是成功,成功了再提交到数据库不然么rollback一下就行了.Top

7 楼wq187(老爷车)回复于 2005-04-01 16:24:40 得分 0

dw_main.ACCEPTTEXT()  
  if   dw_main.update()   =   -1   then  
  rollback;  
  messagebox("错误","对不起,保存失败!")  
  else  
  commit;  
   
  badd=false  
  end   if  
  messagebox("信息","保存成功!")  
   
  这样写了,update()、tab   ordre属性也改了,可是还不行啊。Top

8 楼ll1982715(雨田)回复于 2005-04-01 16:36:59 得分 0

照你所说的情况!  
  你是不是数据库没连!Top

9 楼xiao_bai(小白)回复于 2005-04-01 18:13:08 得分 0

1。数据窗口的row属性的allow   update打上对勾这是第一步,然后在updateable   columns   中选中要更新的列,这步也不可少。  
  2。debug环境里if   dw_main.update()   =   -1   then     这步设置断点,看看返回值是几。  
  Top

10 楼limit00()回复于 2005-06-14 17:16:21 得分 0

估计是楼主没有在updateable   columns中选择完全要更新的列!Top

11 楼planks(网宇)回复于 2005-06-15 17:25:33 得分 0

dw_main.ACCEPTTEXT()  
  if   dw_main.update()   <>1   then  
  rollback;  
  messagebox("错误","对不起,保存失败!")  
  return    
  else  
  commit;  
   
  badd=false  
  end   if  
  messagebox("信息","保存成功!")  
   
  如果改成这样了,还没有提示,那就是保存的列没有设置.可在其update   ...(菜单上的)属性中选需要保存的列及表,关键字.  
  Top

12 楼wujindong(大虫)回复于 2005-06-18 18:12:05 得分 0

if   update(true,true)   =   1   then  
        commit   using   sqlca   ;  
  else  
        rollback   using   sqlca   ;  
  end   ifTop

13 楼xchkun(hanxiao)回复于 2005-06-20 12:03:29 得分 0

就这两句,好好检查一下Top

相关问题

  • 急,数据保存问题
  • 急急!datagrid如何把更新的数据保存回数据库?在线等待
  • 在线等!数据保存问题
  • 数据保存
  • 创建动态数据窗口后,如何增加、删除数据和保存??急,在线等待。。。
  • 关于保存数据窗口的数据问题!!急呀~~~~~~~~~~~~~~~~~~~~
  • ADOQuery数据保存
  • 在线等急:如何ASP将保存于数据库表中的文件内容输出为目录?
  • 剪贴版中的图像怎样保存到数据库中(包括access,sql,oracle) ----急呀,在线等......
  • 紧急的问题!!如何把数据窗口的数据保存到文件中!!紧急!!在线等待!!多多帮忙!!!

关键词

  • 属性
  • 数据
  • 信息
  • 保存
  • accepttext
  • badd
  • falseend
  • elsecommit
  • ifmessagebox
  • thenrollback

得分解答快速导航

  • 帖主:wq187

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo