java链接sqlserver 执行存储过程
package com.antianlu.test;
import java.sql.*;
import com.antianlu.dao.DBHelper;
public class CallProcedure {
public static void main(String[] args)
{
try
{
//CallProcedure.InvokeProc();
//InvokeProcParam();
InvokeProcParamReturn();
}
catch(Exception e)
{
}
}
// 无参无返回的存储过程调用
public static void InvokeProc() throws SQLException
{
try{
Connection conn = DBHelper.getConnection();
CallableStatement cs = conn.prepareCall("{call TEST_SP_GetData}");
ResultSet rs = cs.executeQuery();
while(rs.next())
{
System.out.println(rs.getString(1));
}
DBHelper.closeAll(conn, cs, rs);
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}
// 有参无返回存储过程调用
public static void InvokeProcParam()
{
try{
Connection conn = DBHelper.getConnection();
CallableStatement cs = conn.prepareCall("{call TEST_SP_GetDataBySim(?)}");
cs.setString(1, "13106246066");
ResultSet rs = cs.executeQuery();
while(rs.next())
{
System.out.println(rs.getString(1));
}
DBHelper.closeAll(conn, cs, rs);
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}
//有参有返回存储过程调用
public static void InvokeProcParamReturn()
{
try{
Connection conn = DBHelper.getConnection();
CallableStatement cs = conn.prepareCall("{?=call TEST_SP_GetDataBySimReturn(?)}");
cs.registerOutParameter(1, Types.INTEGER);
cs.setString(2, "131062");
// 执行存储过程
cs.execute();
int result = cs.getInt(1);
System.out.println(result);
DBHelper.closeAll(conn, cs, null);
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}
}