我知道执行存储过程直接用"exec procedurename ?,?,?"这样就可以了,但是得不到返回值,要是用"exec ? = procedurename ?,?,?"就执行不了???要怎么得到存储过程的返回值呢?多谢

解决方案 »

  1.   

    好像这里用SQLServer数据库的不多啊,没有人帮忙么
      

  2.   

    下面例子使用SQLServer中的NorthWind库,我用JDBC-ODBC连的
    InsertRegion是存储过程,有3个参数,前2个输入参数,第3个是返回值,返回0表示成功,其他表示错误
    CallableStatement cst;
    Class.forName("sun.jdbc.obdc.JdbcOdbcDriver");
    con=DriverManager.getConnection("jdbc:odbc:NWind2");
    cst=con.prepareCall("{call InertRegion(?,?,?)}");
    cst.setInt(1,5);
    cst.setString(2,"SouthEast");
    cst.registerOutParameter(1,java.sql.Types.INTEGER);
    cst.executeUpdate();
    int flag=cst.getInt(3);
    if(flag==0)
      System.out.println("OK!");
    else
      System.out.println("Error!");
      

  3.   

    InertRegion这个存储过程是系统自带的么?我这里没有?要是你自己写的能把存储过程给我看看么
    多谢了