java连接SqlServer数据库调用存储过程代码,sqlserver存储过程,下面代码演示java如何
分享于 点击 26290 次 点评:128
java连接SqlServer数据库调用存储过程代码,sqlserver存储过程,下面代码演示java如何
下面代码演示java如何连接sql server调用存储过程。
要调用存储过程需要使用Connection类的prepareCall方法创建CallableStatement类实例。
第一个例子调用名字为generateID的存储过程,该存储过程需要一个字符串类型的参数。设置参数的值需要使用setString()方法。因为此存储过程有返回值,所以我们需要调用executeQuery()
方法,此方法返回ResultSet
对象。
Connection con = null;CallableStatement proc_stmt = null;ResultSet rs = null;try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); con = DriverManager.getConnection("jdbc:sqlserver://MYSERVER;databaseName=MYDATABASE", "USERID", "PASSWORD"); proc_stmt = con.prepareCall("{ call generateID(?) }"); proc_stmt.setString(1, "employee"); rs = proc_stmt.executeQuery(); if (rs.next()) { int employeeId = rs.getInt(1); System.out.println("Generated employeeId: " + employeeId); } else { System.out.println("Stored procedure couldn't generate new Id"); }} catch (ClassNotFoundException ex) { ex.printStackTrace();} catch (SQLException ex) { ex.printStackTrace();} finally { try { rs.close(); proc_stmt.close(); con.close(); } catch (SQLException ex) { ex.printStackTrace(); }}//byrx.net分享代码
第二个例子比第一个例子更简单一些,调用了一个没有参数的存储过程
Connection con = null;CallableStatement proc_stmt = null;try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); con = DriverManager.getConnection("jdbc:sqlserver://MYSERVER;databaseName=MYDATABASE", "USERID", "PASSWORD"); proc_stmt = con.prepareCall("{ call someStoredProc() }"); proc_stmt.executeQuery();} catch (ClassNotFoundException ex) { ex.printStackTrace();} catch (SQLException ex) { ex.printStackTrace();} finally { try { proc_stmt.close(); con.close(); } catch (SQLException ex) { ex.printStackTrace(); }}//byrx.net分享代码
用户点评