`

java返回存储过程异常信息

 
阅读更多
import java.sql.CallableStatement;
import java.sql.SQLException;
import java.sql.Types;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.
	HibernateTransactionManager;

public class ScreenMethodSessionImp extends DefaultBaseManager 
	implements ScreenMethodSession{
	/**50*/
	public static Integer PAGE_NUMBER = 50;
	//预到货预警-初始化数据-fdj-001-4
	public void screenAsnPre(){
		HibernateTransactionManager t = (HibernateTransactionManager) 
				applicationContext.getBean("transactionManager");
		Session session = t.getSessionFactory().getCurrentSession();
		String produce = "call insert_screen_asn_pre(?,?,?)";
		CallableStatement call = null;
		String mes = "success";
		try {
			call = session.connection().prepareCall(produce);
			call.setInt(1, PAGE_NUMBER);
			call.registerOutParameter(2, Types.INTEGER);
			call.registerOutParameter(3, Types.VARCHAR);
			call.execute();
			if(call.getInt(2)!=0){
				mes = call.getString(3);
				mes = MyUtils.font(mes);
			}
		} catch (HibernateException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			if(call!=null){
				try {
					call.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
		LocalizedMessage.addLocalizedMessage(mes);
	}
}

 

create or replace procedure insert_screen_asn_pre
(PAGE_NUMBER IN int,ISERROR OUT int,errorMes OUT varchar2)
as
type cursors is ref cursor;
curs cursors; 
V_SUP_NAME SCREEN_ASN_PRE.Sup_Name%type;
V_ASN_CODE SCREEN_ASN_PRE.Asn_Code%type;
V_ARRIVAL_PRE SCREEN_ASN_PRE.Arrival_Pre%type;
nums int:=0;
begin
  open curs for select sup.name,a.code,a.estimate_date from wms_asn a
            left join wms_organization sup on sup.id = a.supplier_id
             where a.status in ('OPEN','ACTIVE') and a.estimate_date is not null
             and not exists(select 1 from SCREEN_ASN_PRE sc where sc.asn_code = a.code)
             ;
   loop
     fetch curs into V_SUP_NAME,V_ASN_CODE,V_ARRIVAL_PRE;
     exit when curs%notfound;
     insert into SCREEN_ASN_PRE(TYPE,Sup_Name,ASN_CODE,ARRIVAL_PRE) 
	 values('预到货预警',V_SUP_NAME,V_ASN_CODE,V_ARRIVAL_PRE);
     nums:= nums+1;
     --dbms_output.put_line('loop:'||nums);
     if nums >= PAGE_NUMBER
       then
         commit;
         nums:=0;
     end if;
   end loop;
   --dbms_output.put_line('end loop:'||nums);
   if nums >0 
     then
       commit;
       nums:=0;
   end if;
   ISERROR:=0;
   --dbms_output.put_line('end if:'||nums);
   exception
     when others
       then
         ISERROR:=1;
         errorMes:=sqlerrm;
         dbms_output.enable(buffer_size => null);
         dbms_output.put_line(dbms_utility.format_error_backtrace);
         --dbms_output.put_line('sqlcode:'||sqlcode);
         dbms_output.put_line('sqlerrm:'||sqlerrm);
       rollback;
   close curs;
end;

 

分享到:
评论

相关推荐

    java源码包---java 源码 大量 实例

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    游标参数的存储过程 存储过程高级教程

    1、辛苦积累的课件 2、自己调试总结的代码:包括存储过程基础,异常,自定义函数,存储过程,带游标参数的存储过程,java调用存储过程返回多行记录

    java源码包4

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    JAVA上百实例源码以及开源项目

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    java源码包3

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    JAVA上百实例源码以及开源项目源代码

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    java源码包2

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    java jdk实列宝典 光盘源代码

    调用存储过程,StorageProcedure.java; 一个数据库连接池,JDBCInfo.java; 15 applet java可以编写两类程序,applications和applet,applications可以在控制台直接运行,与其他高级编程语言没有太大区别,而java...

    java开源包11

    jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列...

    java开源包6

    jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列...

    java开源包9

    jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列...

    java开源包101

    jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列...

    java开源包4

    jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...

    java开源包5

    jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列...

    java开源包8

    jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列...

    java开源包10

    jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列...

    java初学者必看

    最近正在学习Java,也买了很多的有关Java方面的书籍,其中发现《跟我学Java》这本书,都的很不错啊,所以顺便拿电脑把这本书的目录敲了下来,与大家分享。尤其是那些和我一样初学Java的朋友们,看看哪一节对你有用,...

    java开源包3

    jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列...

    java开源包1

    jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列...

Global site tag (gtag.js) - Google Analytics