技术开发 频道

在Java中调用Oracle的过程和函数

  【IT168 技术文档】内容或简介:

  /**   调用数据库里的一个函数   一个函数本质上一个返回一个结果的存储过程,这个例子示范了怎么调用有in、out和in/out参数的函数   ***********************************/   CallableStatement cs;   try {   // 调用一个没有参数的函数; 函数返回 a VARCHAR   // 预处理callable语句   cs = connection.prepareCall("{? = call myfunc}");   // 注册返回值类型   cs.registerOutParameter(1, i);   // Execute and retrieve the returned value   cs.execute();   String retValue = cs.getString(1);   // 调用有一个in参数的函数; the function returns a VARCHAR   cs = connection.prepareCall("{? = call myfuncin(?)}");   // Register the type of the return value   cs.registerOutParameter(1, Types.VARCHAR);   // Set the value for the IN parameter   cs.setString(2, "a string");   // Execute and retrieve the returned value   cs.execute();   retValue = cs.getString(1);   // 调用有一个out参数的函数; the function returns a VARCHAR   cs = connection.prepareCall("{? = call myfuncout(?)}");   // Register the types of the return value and OUT parameter   cs.registerOutParameter(1, Types.VARCHAR);   cs.registerOutParameter(2, Types.VARCHAR);   // Execute and retrieve the returned values   cs.execute();   retValue = cs.getString(1);      // return value   String outParam = cs.getString(2);  // OUT parameter   // 调用有一个in/out参数的函数; the function returns a VARCHAR   cs = connection.prepareCall("{? = call myfuncinout(?)}");   // Register the types of the return value and OUT parameter   cs.registerOutParameter(1, Types.VARCHAR);   cs.registerOutParameter(2, Types.VARCHAR);   // Set the value for the IN/OUT parameter   cs.setString(2, "a string");   // Execute and retrieve the returned values   cs.execute();   retValue = cs.getString(1);      // return value   outParam = cs.getString(2);      // IN/OUT parameter   } catch (SQLException e) {   }
0
相关文章