java存储过程 捕获异常6,JAVA中捕获SQL中存储过程的错误信息

当前位置:我的异常网» SQL » JAVA中捕获SQL中存储过程的错误信息

JAVA中捕获SQL中存储过程的错误信息

www.myexceptions.net  网友分享于:2013-12-23  浏览:7次

JAVA中捕获SQL中存储过程的异常信息

JAVA中捕获SQL中存储过程的异常信息(2007-05-19 20:41:46)转载▼ 分类: Java编程

//在java中捕获sql存储过程中的异常

//java代码:

package sqlexceptiontest;

import java.sql.*;

import com.microsoft.sqlserver.jdbc.SQLServerException;

public class SqlException{

Connection conn  = null;

Statement  stmt  = null; //执行SQL语句的对象

ResultSet  rs    = null;

public SqlException() {

String     jdbcDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

String     jdbcUrl    = "jdbc:sqlserver://localhost:1433;database=zhang";

String     jdbcUser   = "sa";

String     jdbcPwd    = "123";

try {

Class.forName(jdbcDriver);

conn=DriverManager.getConnection(jdbcUrl,jdbcUser,jdbcPwd);

java.sql.CallableStatement call=conn.prepareCall("{call excep(?,?,?)}");

call.setInt(1,1);

call.setInt(2,0);

call.registerOutParameter(3,java.sql.Types.VARCHAR);

call.execute();

System.out.println(call.getString(3));

}

catch(SQLServerException e) {

e.printStackTrace();

}

catch (ClassNotFoundException ex)

{

}

catch (SQLException ex)

{

}

}

public static void main(String[] args)

{

SqlException db=new SqlException();

}

}

=====================

SQL代码

create database zhang

go

use zhang

go

create proc excep

@beichushu int,

@chushu int,

@error varchar(max) output

as

begin try

declare @shang int

set @shang=@beichushu/@chushu

print @shang

end try

begin catch

set @error='错误信息'+ERROR_MESSAGE()

end catch

drop proc excep

declare @error varchar(max)

exec excep 5,0,@error output

print @error

分享: 分享到新浪Qing

文章评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值