菜鸟笔记:java调用sqlserver存储过程

首先创建一个存储过程:

CREATE proc HR_PER_TARGET_SCORECHECK
@PLANID varchar(20), 
@Obj_A0100 varchar(20),
@Body_A0100 varchar(20),
@Allow varchar(20) output 
as 
  sql语句;
GO

 

之后再用java调用存储过程

 

CallableStatement cstmt = null; // 存储过程
try
{
	
	String sqlCall = "{call HR_PER_TARGET_SCORECHECK (?,?,?,?)}";

	cstmt = this.frameconn.prepareCall(sqlCall);
	cstmt.setInt(1, Integer.parseInt(planid));// 第一个参数为计划号
	cstmt.setString(2, object_id);// 第二个参数为考核对象人员编码
	cstmt.setInt(3, Integer.parseInt(this.userView.getA0100()));// 第三个参数为评分人人员编码
	
	cstmt.registerOutParameter(4, Types.VARCHAR);//设置第四个参数为输出参数
	//执行存储过程
	cstmt.execute();
	String Allow = cstmt.getString(4);
	if(Allow.equals("0")){
		info = Allow;
	}
	
} catch (Exception e)
{
	e.printStackTrace();
	
} finally
{
	try
	{
		if (cstmt != null)
			cstmt.close();
	} catch (Exception e)
	{
		e.printStackTrace();
	}
}

 

 

 

 

 

 

你可能感兴趣的:(sqlserver)