• 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();
     }
    }

  • 相关阅读:
    Chrome恢复显示网址 https:// 和 www
    test
    test
    [转载]看我花式绕过校园网计费认证
    [软件分享]速盘,一个新的百度网盘下载工具
    通过canvas计算任意两个颜色的插值
    Canvas绘制圆点线段
    MySQL 5.7.30 的安装/升级(所有可能的坑都在这里)
    感觉自己成长慢,单点突破可以让你成长快10倍
    承认吧,你就是个意志力很差的人
  • 原文地址:https://www.cnblogs.com/goody9807/p/804323.html
Copyright © 2020-2023  润新知