hur.cn - 华软网

 热门搜索

在执行动态SQL语句时,事物处理不能释放如何解决?

  作者:未知    来源:网络    更新时间:2018/2/6
ls_sql='insert into t_mms_'+ls_pos+'(mmsno,posno,mms,releaseflag,releasedate,notes,status) values('+"'0001',"+"'"+ls_posno+"','"+ls_mms+"',"+"'0'"+",'"+string(today())+"','"+ls_notes+"',"+string(0)+')'

  execute immediate :ls_sql using sqlca;

在程序中执行这条语句时,要提交很久,才能在数据库中检索到数据.
------华软网友回答------
上下两边加sqlca.autocommit=true 
sqlca.autocommit=false
------华软网友回复------
动态sql执行后判断一下成功commit否则ROLLBACK
------华软网友回复------
在 execute immediate :ls_sql using sqlca;后
写上
 if sqlca.sqlcode=0 then
    commit using sqlca;
 else
    rollback using sqlca;
    messagebox('提交错误','错误原因:~r~n'+sqlca.sqlerrtext)
 end if
------华软网友回复------
rollback using sqlca;
messagebox('提交错误','错误原因:~r~n'+sqlca.sqlerrtext)

rollback 以后,sqlca.sqlerrtext应该是空了,解决办法,用变量在rollback之前取他的sqlerrtext。。。
------华软网友回复------
提取的sqlca.sqlerrtext为空值,这是为什么?帮忙

------华软网友回复------
错误号37000:“在blobtext附近的photo=‘’有错误,”
烦再指点一下!
------华软网友回复------
刚才的问题,错误信息全文如下:SQLSTATE = 37000
[Sybase][ODBC Driver][Adaptive Server Anywhere]Syntax error or access violation: near 'blobtest' in [blobtest] SET photo = ''...烦再帮帮我,谢谢!      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。