欢迎来到天天文库
浏览记录
ID:34723867
大小:84.68 KB
页数:8页
时间:2019-03-10
《java调用sqlserver的存储过程详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Java调用SQLServer的存储过程详解2012-05-1500:00中国IT实验室佚名.关键字:Java 1使用不带参数的存储过程 1 {callprocedure-name} 作为实例,在SQLServer2005AdventureWorks示例数据库中创建以下存储过程: CREATEPROCEDUREGetContactFormalNames ASBEGINSELECTTOP10Title+''+FirstName+''+LastNameASFormalName FROMPerson.ContactEND 此存储过程返回单个结果集,其中包含一列数据(由Person.
2、Contact表中前十个联系人的称呼、名称和姓氏组成)。 在下面的实例中,将向此函数传递AdventureWorks示例数据库的打开连接,然后使用executeQuery方法调用GetContactFormalNames存储过程。 publicstaticvoidexecuteSprocNoParams(Connectioncon) …{ try…{ Statementstmt=con.createStatement(); ResultSetrs=stmt.executeQuery("{calldbo.GetContactFormalNames}"); while(rs.nex
3、t()) …{ System.out.println(rs.getString("FormalName")); } rs.close(); stmt.close(); } catch(Exceptione) …{ e.printStackTrace(); } } 2使用带有输入参数的存储过程 使用JDBC驱动程序调用带参数的存储过程时,必须结合SQLServerConnection类的prepareCall方法使用callSQL转义序列。带有IN参数的call转义序列的语法如下所示: {callprocedure-name[([parameter][,[param
4、eter]]…)]} 构造call转义序列时,请使用?(问号)字符来指定IN参数。此字符充当要传递给该存储过程的参数值的占位符。可以使用SQLServerPreparedStatement类的setter方法之一为参数指定值。可使用的setter方法由IN参数的数据类型决定。 向setter方法传递值时,不仅需要指定要在参数中使用的实际值,还必须指定参数在存储过程中的序数位置。例如,如果存储过程包含单个IN参数,则其序数值为1.如果存储过程包含两个参数,则第一个序数值为1,第二个序数值为2. 作为如何调用包含IN参数的存储过程的实例,使用SQLServer2005AdventureWo
5、rks示例数据库中的uspGetEmployeeManagers存储过程。此存储过程接受名为EmployeeID的单个输入参数(它是一个整数值),然后基于指定的EmployeeID返回雇员及其经理的递归列表。下面是调用此存储过程的Java代码: publicstaticvoidexecuteSprocInParams(Connectioncon) …{ try…{ PreparedStatementpstmt=con.prepareStatement("{calldbo.uspGetEmployeeManagers(?)}"); pstmt.setInt(1,50); Resul
6、tSetrs=pstmt.executeQuery(); while(rs.next()) …{ System.out.println("EMPLOYEE:"); System.out.println(rs.getString("LastName")+","+rs.getString("FirstName")); System.out.println("MANAGER:"); System.out.println(rs.getString("ManagerLastName")+","+rs.getString("ManagerFirstName")); System.out.p
7、rintln(); } rs.close(); pstmt.close(); } catch(Exceptione) …{ e.printStackTrace(); } } 3使用带有输出参数的存储过程 使用JDBC驱动程序调用此类存储过程时,必须结合SQLServerConnection类的prepareCall方法使用callSQL转义序列。带有OUT参数的call转义序列的语法如下
此文档下载收益归作者所有