怎样在JAVA里面用返回参数的存储过程
解决方案 »
- java web 发布
- 帮忙看看proxool配置是否出问题
- <%@ page contentType="text/html;charset=gb2312" import="vo.*,dao.*"%>
- 各位大虾有没有用过taglibs-io.tld标签 <io:http url="index.do" javax.servlet.jsp.JspException: Stream closed
- 如何记录同一新闻正在被那些用户浏览
- 在jsp页面中如何关闭数据库连接池
- 1个简单JSP问题,进来留言的都有高分。谢谢
- frame之间有间隙怎么办?
- 如何编译java程序,java程序编译好之后如何保存!?
- File文件 操作
- 如何向jsp中读取html文件中的文档和图片?
- servlet 错误 请教牛人!!!
@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();
}
}
{
ResultSet myrs = null;
String sql = "{call PROC_AUTOID(?,?)}";
String temp = "";
String tempid = "";
try
{
//if(conn != null)
// conn.close();
//conn = DriverManager.getConnection(sConnStr, UseName, PassWord);
conn = this.Getconn();
CallableStatement callablestatement = conn.prepareCall(sql);
callablestatement.setString(1, p);
callablestatement.registerOutParameter(2, 1);
myrs = callablestatement.executeQuery();
myrs.next();
temp = myrs.getString(1);
tempid = callablestatement.getString(2);
myrs.close();
myrs = null;
callablestatement.close();
callablestatement = null;
}
catch(Exception e)
{
System.err.println("executeProc:" + e.getMessage());
log.WriteFile("ExecProc:"+e.getMessage());
}
finally
{
myrs = null;
}
return tempid.trim();
}
//一进一去的参数