在数据窗口中对鼠标点击的某列columna字段点击右键后弹出消息窗口"是否打印",点击打印后,在数据库表tableA中的print_flag 类型为varchar2(2)置为'Y',但打印后发现还是没有更新到数据库,请问怎么回事?
1.获取某行数据 ls_id = getitemstring(row,"Emp_ID")
2.UPDATE tableA set print_flag = 'Y' where Emp_ID = :ls_id using sqlca;
commit using sqlca;
无论加using sqlca或者commit using sqlca后还是无法更新,请问怎么回事,数据库是oracle10g,谢谢了!
------解决方案--------------------
在数据窗口中对鼠标点击的某列columna字段点击右键后弹出消息窗口"是否打印",点击打印后,在数据库表tableA中的print_flag 类型为varchar2(2)置为'Y',但打印后发现还是没有更新到数据库,请问怎么回事?
1.获取某行数据 ls_id = getitemstring(row,"Emp_ID")
2.UPDATE tableA set print_flag = 'Y' where Emp_ID = :ls_id using sqlca;
//在这里增加一句
messagebox('', sqlca.sqlerrtext) //看一下出错提示commit using sqlca;
肯定是sql出错了,或者没有更新成功
------解决方案--------------------
ls_id = getitemstring(row,"Emp_ID")
UPDATE tableA set print_flag = 'Y' where Emp_ID = :ls_id using sqlca;
if sqlca.sqlcode = 0 then
commit using sqlca;
else
rollabck using sqlca;
messagebox("","数据提交错误,错误信息为:" + sqlca.sqlerrtext)
end if
------解决方案--------------------
ls_id = getitemstring(row,"Emp_ID")
UPDATE tableA set print_flag = 'Y' where Emp_ID = :ls_id using sqlca;
if sqlca.sqlcode = 0 then
//再判断一下影响行数
if sqlca.sqlnrows >=1 then
commit using sqlca;
else
rollabck using sqlca;
messagebox("","数据找不到行")
end if
else
rollabck using sqlca;
messagebox("","数据提交错误,错误信息为:" + sqlca.sqlerrtext)
end if