Java中调用SQL Server存储过程详解
本文作者介绍了通过Java如何去调用SQLServer的存储过程,详解了5种不同的存储。详细请看下文
1、使用不带参数的存储过程
使用JDBC驱动程序调用不带参数的存储过程时,必须使用callSQL转义序列。不带参数的call转义序列的语法如下所示:
{callprocedure-name}
作为实例,在SQLServer2005AdventureWorks示例数据库中创建以下存储过程:
CREATEPROCEDUREGetContactFormalNames AS BEGIN SELECTTOP10Title+''+FirstName+''+LastNameASFormalName FROMPerson.Contact END
此存储过程返回单个结果集,其中包含一列数据(由Person.Contact表中前十个联系人的称呼、名称和姓氏组成)。
在下面的实例中,将向此函数传递AdventureWorks示例数据库的打开连接,然后使用executeQuery方法调用GetContactFormalNames存储过程。
publicstaticvoidexecuteSprocNoParams(Connectioncon)...{ try...{ Statementstmt=con.createStatement(); ResultSetrs=stmt.executeQuery("{calldbo.GetContactFormalNames}");
while(rs.next())...{ System.out.println(rs.getString("FormalName")); } rs.close(); stmt.close(); } catch(Exceptione)...{ e.printStackTrace(); } }