欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java连接SqlServer数据库调用存储过程代码,sqlserver存储过程,下面代码演示java如何

来源: javaer 分享于  点击 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分享代码
相关栏目:

用户点评