〖JAVE经验〗JDBC调用存储过程–Java学习经验交流

您可以调用的SQL Server 存储过程是返回一个或多个OUT 参数的存储过程,存储过程使用这些参数将数据返回到调用它的应用程序。可以使用Microsoft SQL Server 2005 JDBC Driver 提供的SQLServerCallableStatement 类,调用此类存储过程并处理其返回的数据。

使用JDBC 驱动程序调用此类存储过程时,必须结合SQLServerConnection 类的prepareCall 方法使用call SQL 转义序列。带有OUT参数的call 转义序列的语法如下所示:

{call procedure-name[([parameter][,[parameter]]。。。)]}

注意:

有关SQL 转义序列的详细信息,请参阅使用SQL 转义序列《http://msdn.microsoft.com/zh-cn/library/ms378045%28v=SQL.90%29.aspx》。

构造call 转义序列时,请使用?(问号)字符来指定OUT 参数。此字符充当要从该存储过程返回的参数值的占位符。要为OUT 参数指定值,必须在运行存储过程前使用SQLServerCallableStatement 类的registerOutParameter 方法指定各参数的数据类型。

使用registerOutParameter 方法为OUT 参数指定的值必须是java.sql.Types 所包含的JDBC 数据类型之一,而它又被映射成本地SQL Server 数据类型之一。有关JDBC 和SQL Server 数据类型的详细信息,请参阅了解JDBC 驱动程序数据类型。

当您对于OUT 参数向registerOutParameter 方法传递一个值时,不仅必须指定要用于此参数的数据类型,而且必须在存储过程中指定此参数的序号位置或此参数的名称。例如,如果存储过程包含单个OUT 参数,则其序数值为1;如果存储过程包含两个参数,则第一个序数值为1,第二个序数值为2。

注意:

JDBC 驱动程序不支持将CURSOR、SQLVARIANT、TABLE 和TIMESTAMP SQL Server 数据类型用作OUT 参数。

作为实例,在SQL Server 2005 AdventureWorks 示例数据库中创建以下存储过程:

《javascript.:CodeSnippet_CopyCode(‘CodeSnippetContainerCode0’);》

CREATE PROCEDURE GetImmediateManager

@employeeID INT,

@managerID INT OUTPUT

AS

BEGIN

SELECT @managerID = ManagerID

FROM HumanResources.Employee

WHERE EmployeeID = @employeeID

END

根据指定的整数IN 参数(employeeID),该存储过程也返回单个整数OUT 参数(managerID)。根据HumanResources.Employee 表中包含的EmployeeID,OUT 参数中返回的值为ManagerID。

更多免费相关学习经验请访问:Tore_m_1206686_21115_1_1.html”>http://www.shangxueba.com/sTore_m_1206686_21115_1_1.html

莫找借口失败,只找理由成功。(不为失败找理由,要为成功找方法

〖JAVE经验〗JDBC调用存储过程–Java学习经验交流

相关文章:

你感兴趣的文章:

标签云: