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

pb中施用update后数据未更新?

2013-01-07 
pb中使用update后数据未更新?!在数据窗口中对鼠标点击的某列columna字段点击右键后弹出消息窗口是否打印

pb中使用update后数据未更新?!
在数据窗口中对鼠标点击的某列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

热点排行