Eclipse下配置swt开发环境

来源:本站原创 作者:佚名 2008-04-07 出处:pcdog.com

  • eclipse
  • 存储过程
  • java
  • 数据库
  •     创建存储过程的脚本,

        使用sqlserver2000 中的pubs 数据库中的 jobs表为例.

       create procedure  showAll
        as
        select * from jobs

        create procedure obtainJob_desc
        @outputParam varchar(20) output,
        @id          int
        as
        select @outputParam = job_desc from jobs where job_id = @id


        create procedure obtainReturn
        as
        declare @ret int
        select @ret = count(*) from jobs
        return @ret


        declare @ret int
        exec  @ret = obtainReturn
        print @ret


      
        用来获得连接的函数

       public  Connection getConnection()...{
          Connection con = null;
          try ...{
           Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
           con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename=pubs","sa","");
          } catch (Exception e) ...{
           e.printStackTrace();
          }
          return con ;
         }

        1,调用得到结果集的存储过程

     public void getResultSet()...{
                //获得连接
                Connection con = this.getConnection();
                try ...{
                    //showAll为存储过程名
                    java.sql.CallableStatement cstm = con.prepareCall("{call showAll }");
                    ResultSet rs = cstm.executeQuery();
                    while(rs.next())...{
                        //这里写逻辑代码。
                        System.out.println(rs.getString(1));
                    }
                    rs.close();
                    con.close();
                } catch (SQLException e) ...{
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            }

            2,调用带有 输入 ,输出 参数的存储过程。

      public void getOutParameter(int inParam)...{
                String outParam;
                Connection con = this.getConnection();

                try ...{
                    CallableStatement cstm = con.prepareCall("{call obtainJob_desc (?,?)}");
                    cstm.registerOutParameter(1, Types.VARCHAR);
                    cstm.setInt(2, inParam);
                    cstm.execute();;

                    //得到输出参数。
                    String outParma = cstm.getString(2);
                    System.out.println(outParma);
                    cstm.close();
                    con.close();

                } catch (SQLException e) ...{
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            }


        3,调用带返回值的存储过程。

     public void getReturn()...{
                int ret;
                Connection con = this.getConnection();
                try ...{
                    CallableStatement cstm = con.prepareCall("{?=call obtainReturn()}");
                    cstm.registerOutParameter(1, Types.INTEGER);

                    cstm.execute();
                    //得到返回值
                     ret = cstm.getInt(1);

                    System.out.println(ret);
                    cstm.close();
                    con.close();

                } catch (SQLException e) ...{
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            }


    更多内容请看PCdog.com--Eclipse 入门及环境配置Eclipse 开发技术win98使用技巧专题
    上一篇:EJB组件与可重用性的矛盾
    下一篇:Java开发工具Eclipse使用中报错的详细分