欢迎来到天天文库
浏览记录
ID:34723757
大小:65.18 KB
页数:3页
时间:2019-03-10
《java中使用存储过程实例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、以前用的是Statement和PreparedStatement调用存储过程就用到CallableStatementcstmt=conn.prepareCall("callp(?,?,?,?)");声明一个叫p的存储过程,需要4个参数其中1,2为输入参数3输出参数,4为输入输出参数(在sqlserver里没有这样的参数)是输出参数的我们在程序里要说明一下如:cstmt.registerOutParameter(3,Types.INTEGER)表明这个是第3个问号上面的,切类型是int型号的cstmt.cstmt.registerOutParameter(4,Types.INTEGER)输入输出
2、参数也必须说明cstmt.setInt(1,3);cstmt.setInt(2,3);cstmt.setInt(4,3);把3个输入参数给值;cstmt.execute();执行存储过程。System.out.println(cstmt.getInt(3));System.out.println(cstmt.getInt(4));现在就可以用cstmt.get方法来取值了最后cstmt.close要关闭1使用不带参数的存储过程publicstaticvoidexecuteStoredProcedure(Connectioncon){try{CallableStatementcstmt=con.
3、prepareCall("{calldbo.GetContactFormalNames}");ResultSetrs=cstmt.executeQuery();while(rs.next()){System.out.println(rs.getString("FormalName"));}}rs.close();cstmt.close();catch(Exceptione){e.printStackTrace();}}2使用带有输入参数的存储过程publicstaticvoidexecuteStoredProcedure(Connectioncon){try{CallableStatement
4、cstmt=con.prepareCall("{calldbo.uspGetEmployeeManagers(?)}");cstmt.setInt(1,50);ResultSetrs=cstmt.executeQuery();while(rs.next()){System.out.println("EMPLOYEE:");System.out.println(rs.getString("LastName")+","+rs.getString("FirstName"));System.out.println("MANAGER:");System.out.println(rs.getString(
5、"ManagerLastName")+","+rs.getString("ManagerFirstName"));System.out.println();}}rs.close();cstmt.close();catch(Exceptione){e.printStackTrace();}}3使用带有输出参数的存储过程publicstaticvoidexecuteStoredProcedure(Connectioncon){try{CallableStatementcstmt=con.prepareCall("{calldbo.GetImmediateManager(?,?)}");cstmt.
6、setInt(1,5);cstmt.registerOutParameter(2,java.sql.Types.INTEGER);cstmt.execute();System.out.println("MANAGERID:"+cstmt.getInt(2));}catch(Exceptione){e.printStackTrace();}}4使用带有返回状态的存储过程作为示例,在SQLServer2005AdventureWorks示例数据库中创建以下存储过程:CREATEPROCEDURECheckContactCity@cityNameCHAR(50)ASBEGINIF((SELECTCO
7、UNT(*)FROMPerson.AddressWHERECity=@cityName)>1)RETURN1ELSERETURN0ENDpublicstaticvoidexecuteStoredProcedure(Connectioncon){try{CallableStatementcstmt=con.prepareCall("{?=calldbo.CheckContactCity(?)}");
此文档下载收益归作者所有