Java调用SqlServer存储过程

在使用Java开发时,经常会遇到调用Sql Server存储过程的问题,下面就为您示例介绍Java调用Sql Server存储过程的实现过程,希望可以帮助您解决Java调用Sql Server存储过程的难题。

1.数据库连接

 
 
 
  1. package com.hujuan.conn;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.SQLException;
  5. public  class DatabaseConn {
  6.    public static Connection getConnection(){
  7.         String className= "com.microsoft.jdbc.sqlserver.SQLServerDriver";
  8.         String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=login";
  9.         String name = "sa";
  10.         String password = "sasa";
  11.         try {
  12.             Class.forName(className);
  13.             
  14.             return DriverManager.getConnection(url,name,password);
  15.         } catch (ClassNotFoundException e) {
  16.             e.printStackTrace();
  17.         } catch (SQLException e) {
  18.             e.printStackTrace();
  19.         }
  20.         return null;
  21.     }
  22. }

2.通过连接调用存储过程

 
 
 
  1. package com.hujuan.dao;
  2. import java.sql.CallableStatement;
  3. import java.sql.Connection;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.sql.Types;
  7. import com.hujuan.conn.DatabaseConn;
  8. public class SqlServerProc {
  9.     public static void main(String[] args) {
  10.         Connection conn = null;
  11.         CallableStatement call = null;
  12.         conn = DatabaseConn.getConnection();
  13.         try {
  14.             call = conn.prepareCall("{call insertUserinfo(?,?,?,?)}");
  15.             call.setString(1, "hujuan");
  16.             call.setString(2, "女");
  17.             call.setString(3, "1985-06-16");
  18.             call.registerOutParameter(4, Types.INTEGER);
  19.             call.executeUpdate();
  20.             int value = call.getInt(4);
  21.             System.out.println(value);
  22.         } catch (SQLException e) {
  23.             e.printStackTrace();
  24.         }finally{
  25.             try {
  26.                 if(call != null)call.close();
  27.                 if(conn != null)conn.close();
  28.             } catch (SQLException e) {
  29.                 e.printStackTrace();
  30.             }
  31.         }
  32.         
  33.     }
  34. }

返回结果集

 
 
 
  1. package com.hujuan.dao;
  2. import java.sql.CallableStatement;
  3. import java.sql.Connection;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.sql.Types;
  7. import com.hujuan.conn.DatabaseConn;
  8. public class SqlServerProc {
  9.     public static void main(String[] args) {Connection conn = null;
  10.         CallableStatement call = null;
  11.         ResultSet rs = null;
  12.         conn = DatabaseConn.getConnection();
  13.         try {
  14.             call = conn.prepareCall("{?=call selectUserinfo()}");
  15.             call.registerOutParameter(1, Types.REAL);
  16.             rs = call.executeQuery();
  17.             while(rs.next()){
  18.                 System.out.println(rs.getString("name"));
  19.             }
  20.         } catch (SQLException e) {
  21.             e.printStackTrace();
  22.         }finally{
  23.             try {
  24.                 if(rs != null)rs.close();
  25.                 if(call != null)call.close();
  26.                 if(conn != null)conn.close();
  27.             } catch (SQLException e) {
  28.                 e.printStackTrace();
  29.             }
  30.         }
  31.     }
  32. }

分享名称:Java调用SqlServer存储过程
当前路径:http://www.csdahua.cn/qtweb/news3/456953.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网