Java论坛网»Java技术»怎样在JAVA里面用返回参数的存储过程
怎样在JAVA里面用返回参数的存储过程
问?:
怎样在JAVA里面用返回参数的存储过程
答!: 1:
作为示例,在 SQL Server 2005 AdventureWorks 示例数据库中创建以下存储过程:
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。
在以下示例中,将 AdventureWorks 示例数据库的打开连接传递给此函数,然后使用 execute 方法调用 GetImmediateManager 存储过程:
public static void executeStoredProcedure(Connection con) {
try {
CallableStatement cstmt = con.prepareCall("{call dbo.GetImmediateManager(?, ?)}");
cstmt.setInt(1, 5);
cstmt.registerOutParameter(2, java.sql.Types.INTEGER);
cstmt.execute();
System.out.println("MANAGER ID: " + cstmt.getInt(2));
}
catch (Exception e) {
e.printStackTrace();
}
}
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。
在以下示例中,将 AdventureWorks 示例数据库的打开连接传递给此函数,然后使用 execute 方法调用 GetImmediateManager 存储过程:
public static void executeStoredProcedure(Connection con) {
try {
CallableStatement cstmt = con.prepareCall("{call dbo.GetImmediateManager(?, ?)}");
cstmt.setInt(1, 5);
cstmt.registerOutParameter(2, java.sql.Types.INTEGER);
cstmt.execute();
System.out.println("MANAGER ID: " + cstmt.getInt(2));
}
catch (Exception e) {
e.printStackTrace();
}
}
答!: 2:
学习了
相关JAVA教程:
急,struts Formbean 验证问题
WEB SERVICE 在TOMCAT上能运行,ORACLE AS不能运行的问题
求助:Hibernate,空指针错误
请教一个Hibernate的AssertionFailure问题
weblogic上连接ms sql连接池错误
求助---加载图片时怎样设置路径?
跨页面的事务问题
求助---加载图片时怎样设置路径?
请各位大侠指点一下,数据连接的问题!
JTree如何编辑节点,大家帮忙看看
各位高手!好,怎么在JButton中设置标题的布局啊!
想学XML,看什么书比较好?