数据窗口保存的时候提示插入控制,保存失败
窗体类型:response!
控件:tab_tabpage
数据窗口+数据窗口控件多个.其中数据来源不尽相同。
open事件中已经添加语句:tab_1.tabpage_1.dw_8.settransobject(sqlca),tab_1.tabpage_1.dw_8.Retrieve(string(is_no))
现在碰到两个问题:1、保存的时候提示插入空值失败:
IF tab_1.tabpage_1.dw_8.Update()=1 THEN
COMMIT USING SQLCA;
tab_1.tabpage_1.dw_8.ResetUpdate() //清除更新标志
MessageBox('提示','数据已存盘')
ELSE
ROLLBACK USING SQLCA;
MessageBox('提示','数据无法存盘')
END IF
测试发现,在数据窗口编辑的数据是正确的,数据来源和第一个数据窗口相同的也能够保存,但是数据来源不同就保存失败。
这里表达的意思不知道是否够清楚,如输入客户基础资料(这是第一个数据窗口),没有任何问题,输入这个客户的特定事件(这是来源于另外一个表),这时保存失败.
另外在打开窗口的时候,保存失败的数据窗口也是象没有添加retrieve语句一样,没有明细内容,但是可以添加记录.
写的有些啰唆啊,请高手指教一下.
[解决办法]
看不懂,不知道你说的数据来源是什么,你的dw_8和客户基础资料这个dw有什么关系?
另贴下update返回的错误提示:
string ls_errorIF tab_1.tabpage_1.dw_8.Update()=1 THEN COMMIT USING SQLCA; tab_1.tabpage_1.dw_8.ResetUpdate() //清除更新标志 MessageBox('提示','数据已存盘') ELSE ls_error = sqlca.sqlerrtext ROLLBACK USING SQLCA; MessageBox('提示', ls_error) END IF
[解决办法]
怀疑楼主添加明细的时候没有给外键赋值,所以保存失败
重新打开必然没有明细