• java存储过程调用(sqlsever数据库)


    存储过程:

    --call MyProc(?,?,?)
    alter proc MyProc
    (@id int,
     @customerid nchar(5) output,
     @employeeid int output
    )as
    begin
     select @customerid=customerid,@employeeid=employeeid from orders
     where orderid=@id
    end
    go

    declare
    @cu char(5),
    @em int
    exec MyProc 10248,@cu output,@em output
    print(cast(@em as char(5))+@cu)

    以下是java调用存储过程:

    import java.sql.*;

    public class Study
    {
     private Connection con;
     public  ResultSet  re;
     private CallableStatement callsta;
     private String str;
     private String use="sa";
     private String pwd="sa";
     
     public Study()
     {
     try{
       //连接数据库驱动
       Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
       String str="jdbc:microsoft:sqlserver://localhost:1433;databasename=northwind";
       con=DriverManager.getConnection(str,use,pwd);
       
       //设置存储过程参数
       String st="{call MyProc(?,?,?)}";
       callsta=con.prepareCall(st);
       callsta.setInt(1,10248);
       callsta.registerOutParameter(2,Types.VARCHAR);
       callsta.registerOutParameter(3,Types.INTEGER);
       
       //测试调用执行成功与否
       System.out.println(callsta.execute());
       
       //循环输出调用存储过程的记录结果
       if(callsta.execute()==true)
       {
        re=callsta.getResultSet();
        while(re.next())
        {
         System.out.println(re.getInt(1)+" "+re.getString(2)+" "+re.getInt(3));
        }
       }
       else{System.out.println("dfas");}
     }
       catch(Exception e){e.printStackTrace();}
     }

     public static void main(String[] age)
     {
      Study study=new Study();
     }
    }

  • 相关阅读:
    2017年第一篇博客--关于集成友盟和微信支付等遇到的坑
    【转】ArcGIS Server10.1安装常见问题及解决方案
    【转】C# GDAL 配置
    【转】Silverlight无法添加服务引用
    arcgis for js/flex/sl 该选哪一个?
    webgis开发-开始向JS转向
    形象解释C#、Net、Asp.net
    怎么区分odd和even
    Linux入门
    html网页访问WebAPI中的方法遇到的问题
  • 原文地址:https://www.cnblogs.com/goody9807/p/804323.html
Copyright © 2020-2023  润新知