- 浏览: 163090 次
- 性别:
- 来自: 西安
-
文章分类
最新评论
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
//在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
发表评论
-
回调hanshu
2018-10-15 23:09 0java callback -
根据类名查找jar包路径
2018-08-12 01:04 950ProtectionDomain pd = StringUt ... -
https
2018-04-20 23:14 01:导出证书用IE的证书工具可以将网站的证书导出。打开网 ... -
mock request
2017-08-20 02:56 0一:postprotected ApplicationCont ... -
使用mockMvc测试文件上传
2017-08-20 01:52 6398@Autowired BanksController bank ... -
java 线程池实现多并发队列后进先出
2017-02-15 00:33 1889java实现线程池多并发队列后进先出 目前默认的队列都是先 ... -
apache ftp server
2017-01-11 22:41 648apache ftp server -
证书制作工具
2016-06-29 23:28 722证书制作工具 -
spring mvc 初始化加载bean
2016-06-15 20:28 1383<context:component-scan bas ... -
Ribbon 和 Eureka 的集成
2016-06-11 00:42 2889Ribbon 是 Netflix 发布的云中间层服务开源项目 ... -
RestTemplate实践
2016-06-11 00:30 953什么是RestTemplate? RestTemplat ... -
@Component(“”)和@resource(name=””)的使用:
2016-06-08 01:24 12274@Component(“”)和@resource(nam ... -
springboot ant部署
2016-06-08 01:03 1005springboot ant部署 -
springboot 使用外部tomcat启动
2016-06-05 22:59 1568package sample.xml; import o ... -
swagger 实现文件上传
2016-06-01 22:23 5697@ResponseBody @RequestMa ... -
swagger
2016-06-01 21:18 0import static springfox.docum ... -
java
2016-05-26 01:14 0swagger2.0 -
swagger
2016-05-26 00:32 0spring swagger -
java 域名解析
2016-05-18 23:18 490import java.net.InetAddress;im ... -
swing 模拟文件上传
2016-05-15 17:32 547swing 模拟文件上传
相关推荐
在Java编程中,调用数据库存储过程是一种常见的操作,特别是在处理复杂的业务逻辑或者批量数据操作时。存储过程是由一组SQL语句组成的预编译代码,它们存储在数据库中,可以被多次调用,提高效率并简化代码管理。...
### Java中调用Oracle的存储过程和函数 在Java应用程序中调用Oracle数据库中的存储过程或函数是一项常见的任务。这不仅能够提高代码的执行效率,还可以有效地管理事务处理,确保数据的一致性和完整性。本文将详细...
1. 参数类型匹配:确保Java中的参数类型与Oracle存储过程或函数中的参数类型一致,否则可能导致转换异常。 2. 注意游标处理:有些存储过程可能返回游标,需要特别处理。 3. 事务管理:根据业务需求,可能需要手动...
5. **异常处理**:在Java代码中,需要捕获并处理`SQLException`,确保程序的健壮性。 6. **DBUtil工具类**:`DBUtil.java`可能是封装了数据库连接和操作的工具类,包含如`getConnection()`和`closeResources()`等...
根据提供的文件信息,我们可以深入探讨如何在JSP中调用SQL Server存储过程,并结合具体的代码示例进行解析。 ### JSP 调用 SQL Server 存储过程 #### 一、存储过程创建与理解 首先,我们需要理解所提供的SQL ...
本文主要介绍了SQL Server中存储过程的相关知识点,包括事务管理和游标的使用,以及如何在Java中调用SQL Server存储过程。通过实际案例演示了各种操作的具体实现方法,为开发人员提供了实用的参考。
"利用SpringMVC切面捕获全局异常入库源码"这个项目正是为了实现这样的功能,即通过面向切面编程(AOP)的方式捕获并记录全局异常,然后将这些异常信息存储到数据库中。下面我们将详细探讨相关的知识点。 首先,让...
Java调用存储过程是数据库操作中的常见需求,特别是在需要高效执行多条SQL语句或封装复杂业务逻辑时。存储过程是预编译的数据库代码片段,可在数据库服务器上执行,减少了网络通信次数,提升了系统性能。Java通过...
Java提供了异常处理机制,通过try-catch-finally语句块捕获并处理异常,保证程序的稳定运行。 七、用户界面设计 用户界面是系统与用户交互的窗口。开发者可能使用Java Swing或JavaFX组件来创建按钮、文本框、列表...
se();}if(stmt != null){stmt.close();}if(conn != null){conn.close();...此外,对于存储过程的错误处理,通常需要在Oracle存储过程中添加异常捕获和处理机制,以便在Java调用时能够得到清晰的错误信息。
在本项目中,SQL Server 2000作为后台数据库,存储员工的基本信息、岗位信息、考勤记录等各类数据。SQL Server提供了强大的查询能力,通过SQL语句实现数据的增删改查,确保数据的安全性和一致性。此外,SQL Server的...
在实际的Java代码中,应该包括适当的异常处理来处理可能出现的数据库连接问题或SQL错误。通常会捕获`SQLException`并适当地处理或记录错误。 7. **JDBC驱动**: 示例代码中使用了`org.gjt.mm.mysql.Driver`,这是...
在本项目中,“java+sql2000 控制台学生住宿信息管理”是一个基于Java编程语言和SQL Server 2000数据库的简单学生住宿信息管理系统。它通过控制台界面进行操作,适用于学习和理解如何整合这两种技术来构建一个基本的...
5. **处理警告信息**:如果需要捕获存储过程中可能产生的警告信息,可以通过`getWarnings`方法获取`SQLWarning`对象,并进行相应处理。 ```java SQLWarning sqlWarning = callableStatement.getWarnings(); ...
8. **异常处理**:在整个过程中,确保捕获并适当地处理可能出现的`SQLException`和其他异常,确保程序的健壮性。 9. **资源管理**:在操作完成后,关闭所有打开的数据库连接、`Statement`、`ResultSet`和文件流,...
9. **异常处理**:在编写Java数据库应用时,必须捕获并适当地处理`SQLException`,以确保程序的健壮性。 10. **驱动兼容性**:`sqljdbc4-3.0.jar`适用于Java 6,但如果你的环境是Java 7或更高版本,可能需要使用...
Java存储过程是Java编程语言与数据库交互的一种技术,主要用于执行在数据库中预编译的SQL语句和数据库特定的函数。在Java项目中,存储过程的使用可以提高应用程序的性能,减少网络传输,同时也可以增强安全性,因为...
在Java编程中,调用数据库的存储过程是常见的任务,特别是在需要执行复杂SQL逻辑或封装多次操作时。本文将深入探讨如何在Java中调用存储过程,并通过实例进行讲解。 一、存储过程概述 存储过程是数据库中预编译的...
- 在JAVA程序中调用PL/SQL存储过程时,需要处理好异常和错误,确保JAVA程序能够正确地捕获并处理来自数据库的返回信息。 - 为了保证互操作的安全性和效率,开发者需要考虑到数据库连接管理、事务处理和性能优化等...