首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

很奇怪。数据窗口保存失败解决办法

2012-02-23 
很奇怪。。数据窗口保存失败有两个数据窗口第一个是显示流水数据第二个是显示明细数据一个保存按钮---------

很奇怪。。数据窗口保存失败
有两个数据窗口
第一个是显示流水数据
第二个是显示明细数据
 一个保存按钮
------------
第二个数据源
  SELECT a.RKBH,  
  a.GOODSID,  
  a.GOODSQTY,  
  a.PH,  
  a.ZHJ,
  a.BUMENID,  
  b.goodsname,
  b.goodstype,
  b.prodarea,
  b.goodsunit  
  FROM ZP_GOODS_RKMX a ,zp_goods b where a.goodsid=b.goodsid 
--------
第一个数据窗口双击代码
  string ls_tjbh
dw_1.settransobject(sqlca) 
dw_1.accepttext()
  ls_tjbh=string(dw_1.getitemnumber(dw_1.getrow(),"rkbh"))
 
  string sql,ls_filter,ls_value
  ls_filter="b.rkbh= '" +ls_tjbh + "'"

  dw_2.settransobject(sqlca);
 
sql="select b.RKBH,b.GOODSID,b.GOODSQTY,b.PH,b.ZHJ,b.BUMENID,a.goodsname,a.goodstype,a.prodarea,a.goodsunit from zp_goods a,zp_goods_rkmx b where (a.goodsid=b.goodsid) and ("+ls_filter+") order by a.goodsid "
 
// sql="select goodsname sltj,b.rkbh,b.goodsid,b.goodsqty,b.ph,b.zhj,b.bumenid,goodsname,goodstype,a.prodarea,goodsunit from zp_goods a,zp_goods_rkmx b where (a.goodsid=b.goodsid) and ("+ls_filter+") order by a.goodsid "
  
  dw_2.setsqlselect(sql)  
  dw_2.retrieve();

保存按钮代码
int ret
dw_2.accepttext()
ret=dw_2.update()
if ret=1 then
commit using sqlca;
messagebox("提示","保存成功!")
else
rollback using sqlca;
end if
--------------
双击第一个窗口的一条记录,
修改DW_2里的数据
点击保存后,提示,datawindow does not have update capability 

但是第一个数据窗口双击代码把sql换成下面第二个sql
,显示列名不匹配(多了第一个sltj),DW_2显示所有的记录,但修改DW_2里的数据后可以保存成功。。。
----------------

我已经在"Table To Update"下拉列表框中选择要更新的表 
在"Updatesble Cloumns"通过单击选择可更新的列

[解决办法]
好长,修改了数据源时update属性可能就丢了

热点排行