当前位置: 代码迷 >> PB >> 很奇怪。数据窗口保存失败解决办法
  详细解决方案

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

热度:264   发布时间:2016-04-29 10:33:10.0
很奇怪。。数据窗口保存失败
有两个数据窗口
第一个是显示流水数据
第二个是显示明细数据
 一个保存按钮
------------
第二个数据源
  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属性可能就丢了
  相关解决方案