dw的update()出了我所不能了解的问题!

schen23 2003-05-16 11:51:30
老大们好:我有一段有dw的update()的代码如下:

dw_1.SetTransObject(sqlca)

if dw_1.update()=1 then
commit using sqlca;
messagebox('提示信息','数据提交成功!')
dw_1.Modify("DataWindow.ReadOnly=Yes")//提交成功后,不能再写入数据
dw_1.setfocus()//修改记录时
dw_1.setcolumn(1)
else
messagebox('提示信息','数据提交失败!')
rollback using sqlca;
dw_1.setfocus()
dw_1.setcolumn(1)
end if







正如大家经常使用的那样,这段代码是没问题的,可以正常运行。但是我在程序中多连了一个数据库,定义为sql112,并把上一段代码相应改成:


dw_1.SetTransObject(sqlca112)

if dw_1.update()=1 then
commit using sqlca112;
messagebox('提示信息','数据提交成功!')
dw_1.Modify("DataWindow.ReadOnly=Yes")//提交成功后,不能再写入数据
dw_1.setfocus()//修改记录时
dw_1.setcolumn(1)
else
messagebox('提示信息','数据提交失败!')
rollback using sqlca112;
dw_1.setfocus()
dw_1.setcolumn(1)
end if


的时候,update()这一句死活没有任何效果!,而其他sql等语句在加了using sql112这一句时都是很正常的,请问有那位老大知道是怎么回事吗?
先谢谢了!……
...全文
118 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
schen23 2003-05-26
  • 打赏
  • 举报
回复
嘿嘿,原因是窗口在拷贝中update的属性自动改变了(所有的列都被去掉了update属性),谢谢大家 散分~~~~~~~~~~
illoveyou 2003-05-17
  • 打赏
  • 举报
回复
在程序中最好将rollback using sqlca112;放到messagebox()前,同时sqlca112.autocommit = false,可能就行了
schen23 2003-05-16
  • 打赏
  • 举报
回复
应该是的!
covis 2003-05-16
  • 打赏
  • 举报
回复
连接要提交数据的数据库用的是哪一个事务?是sqlca112吗?
fengzeng 2003-05-16
  • 打赏
  • 举报
回复
除楼上说的以外,在程序中最好将rollback using sqlca112;放到messagebox()前,同时sqlca112.autocommit = false
joss 2003-05-16
  • 打赏
  • 举报
回复
先判断事务连接有无错误!
窗口能正常显示第二个事务的内容?
再分析有无提示错误信息!

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧