コード例 #1
0
 public byte getByte(String parameterName) throws SQLException {
   checkOpen();
   try {
     return _stmt.getByte(parameterName);
   } catch (SQLException e) {
     handleException(e);
     return 0;
   }
 }
コード例 #2
0
 public byte getByte(int parameterIndex) throws SQLException {
   checkOpen();
   try {
     return _stmt.getByte(parameterIndex);
   } catch (SQLException e) {
     handleException(e);
     return 0;
   }
 }
コード例 #3
0
 public void testGetByte01() throws Throwable {
   try {
     Statement stmt = con.createStatement();
     stmt.execute("create temp table byte_tab ( max_val int2, min_val int2, null_val int2 )");
     stmt.execute("insert into byte_tab values (127,-128,null)");
     boolean ret =
         stmt.execute(
             "create or replace function "
                 + "byte_proc( OUT IMAX int2, OUT IMIN int2, OUT INUL int2)  as "
                 + "'begin "
                 + "select max_val into imax from byte_tab;"
                 + "select min_val into imin from byte_tab;"
                 + "select null_val into inul from byte_tab;"
                 + " end;' "
                 + "language plpgsql;");
   } catch (Exception ex) {
     fail(ex.getMessage());
     throw ex;
   }
   try {
     CallableStatement cstmt = con.prepareCall("{ call byte_proc(?,?,?) }");
     cstmt.registerOutParameter(1, java.sql.Types.TINYINT);
     cstmt.registerOutParameter(2, java.sql.Types.TINYINT);
     cstmt.registerOutParameter(3, java.sql.Types.TINYINT);
     cstmt.executeUpdate();
     assertTrue(cstmt.getByte(1) == 127);
     assertTrue(cstmt.getByte(2) == -128);
     cstmt.getByte(3);
     assertTrue(cstmt.wasNull());
   } catch (Exception ex) {
     fail(ex.getMessage());
   } finally {
     try {
       Statement dstmt = con.createStatement();
       dstmt.execute("drop function byte_proc()");
     } catch (Exception ex) {
     }
   }
 }
コード例 #4
0
  /** The byte value */
  @Override
  public byte getByte(String name) throws SQLException {
    try {
      return _cstmt.getByte(name);
    } catch (SQLException e) {
      onSqlException(e);

      throw e;
    } catch (RuntimeException e) {
      onRuntimeException(e);

      throw e;
    }
  }
コード例 #5
0
  public static void eliminar(int id) {
    ConnectionPool pool = ConnectionPool.getInstance();
    Connection connection = pool.getConnection();
    CallableStatement cs = null;
    try {
      cs = connection.prepareCall("{ call UsuarioBorrar(?, ?) }");
      cs.setInt(1, id);
      cs.registerOutParameter(2, Types.BIT);
      cs.execute();
      byte res = cs.getByte(2);
      System.out.println("[Borrar] Resultado=" + res);

    } catch (Exception ex) {
      ex.printStackTrace();
    } finally {
      DBUtil.closeStatement(cs);
      pool.freeConnection(connection);
    }
  }
コード例 #6
0
  /** Test of getByte method, of inteface java.sql.CallableStatement. */
  public void testGetByte() throws Exception {
    println("getByte");

    if (!isTestOutParameters()) {
      return;
    }

    CallableStatement stmt;
    byte expResult = (byte) 1;
    byte result = (byte) 0;

    try {
      stmt = prepRegAndExec("{?= call cast(1 as tinyint)}", 1, Types.TINYINT);

      result = stmt.getByte(1);
    } catch (Exception ex) {
      fail(ex.getMessage());
    }

    assertEquals(expResult, result);
  }
コード例 #7
0
ファイル: FieldTypeHelper.java プロジェクト: Arbonaut/jOOQ
  @SuppressWarnings("unchecked")
  public static <T> T getFromStatement(ExecuteContext ctx, Class<? extends T> type, int index)
      throws SQLException {
    CallableStatement stmt = (CallableStatement) ctx.statement();

    if (type == Blob.class) {
      return (T) stmt.getBlob(index);
    } else if (type == Boolean.class) {
      return (T) checkWasNull(stmt, Boolean.valueOf(stmt.getBoolean(index)));
    } else if (type == BigInteger.class) {
      BigDecimal result = stmt.getBigDecimal(index);
      return (T) (result == null ? null : result.toBigInteger());
    } else if (type == BigDecimal.class) {
      return (T) stmt.getBigDecimal(index);
    } else if (type == Byte.class) {
      return (T) checkWasNull(stmt, Byte.valueOf(stmt.getByte(index)));
    } else if (type == byte[].class) {
      return (T) stmt.getBytes(index);
    } else if (type == Clob.class) {
      return (T) stmt.getClob(index);
    } else if (type == Date.class) {
      return (T) stmt.getDate(index);
    } else if (type == Double.class) {
      return (T) checkWasNull(stmt, Double.valueOf(stmt.getDouble(index)));
    } else if (type == Float.class) {
      return (T) checkWasNull(stmt, Float.valueOf(stmt.getFloat(index)));
    } else if (type == Integer.class) {
      return (T) checkWasNull(stmt, Integer.valueOf(stmt.getInt(index)));
    } else if (type == Long.class) {
      return (T) checkWasNull(stmt, Long.valueOf(stmt.getLong(index)));
    } else if (type == Short.class) {
      return (T) checkWasNull(stmt, Short.valueOf(stmt.getShort(index)));
    } else if (type == String.class) {
      return (T) stmt.getString(index);
    } else if (type == Time.class) {
      return (T) stmt.getTime(index);
    } else if (type == Timestamp.class) {
      return (T) stmt.getTimestamp(index);
    } else if (type == YearToMonth.class) {
      if (ctx.getDialect() == POSTGRES) {
        Object object = stmt.getObject(index);
        return (T) (object == null ? null : PostgresUtils.toYearToMonth(object));
      } else {
        String string = stmt.getString(index);
        return (T) (string == null ? null : YearToMonth.valueOf(string));
      }
    } else if (type == DayToSecond.class) {
      if (ctx.getDialect() == POSTGRES) {
        Object object = stmt.getObject(index);
        return (T) (object == null ? null : PostgresUtils.toDayToSecond(object));
      } else {
        String string = stmt.getString(index);
        return (T) (string == null ? null : DayToSecond.valueOf(string));
      }
    } else if (type == UByte.class) {
      String string = stmt.getString(index);
      return (T) (string == null ? null : UByte.valueOf(string));
    } else if (type == UShort.class) {
      String string = stmt.getString(index);
      return (T) (string == null ? null : UShort.valueOf(string));
    } else if (type == UInteger.class) {
      String string = stmt.getString(index);
      return (T) (string == null ? null : UInteger.valueOf(string));
    } else if (type == ULong.class) {
      String string = stmt.getString(index);
      return (T) (string == null ? null : ULong.valueOf(string));
    }

    // The type byte[] is handled earlier. byte[][] can be handled here
    else if (type.isArray()) {
      return (T) convertArray(stmt.getObject(index), (Class<? extends Object[]>) type);
    } else if (ArrayRecord.class.isAssignableFrom(type)) {
      return (T) getArrayRecord(ctx, stmt.getArray(index), (Class<? extends ArrayRecord<?>>) type);
    } else if (EnumType.class.isAssignableFrom(type)) {
      return getEnumType(type, stmt.getString(index));
    } else if (MasterDataType.class.isAssignableFrom(type)) {
      return (T) getMasterDataType(type, stmt.getString(index));
    } else if (UDTRecord.class.isAssignableFrom(type)) {
      switch (ctx.getDialect()) {
        case POSTGRES:
          return (T) pgNewUDTRecord(type, stmt.getObject(index));
      }

      return (T) stmt.getObject(index, DataTypes.udtRecords());
    } else if (Result.class.isAssignableFrom(type)) {
      ResultSet nested = (ResultSet) stmt.getObject(index);
      return (T) getNewFactory(ctx).fetch(nested);
    } else {
      return (T) stmt.getObject(index);
    }
  }
コード例 #8
0
 /** @see java.sql.CallableStatement#getByte(int) */
 public byte getByte(int parameterIndex) throws SQLException {
   return original.getByte(parameterIndex);
 }
コード例 #9
0
 /** @see java.sql.CallableStatement#getByte(java.lang.String) */
 public byte getByte(String parameterName) throws SQLException {
   return original.getByte(parameterName);
 }
コード例 #10
0
  private static void callGetMethod(
      CallableStatement cs, int arg, int type, int paramType, StringBuilder strbuf)
      throws Throwable {
    switch (type) {
      case Types.BIT:
      case Types.BOOLEAN:
        strbuf.append("getBoolean(" + arg + ") = ");
        strbuf.append(cs.getBoolean(arg));
        break;

      case Types.TINYINT:
        strbuf.append("getByte(" + arg + ") = ");
        strbuf.append(Byte.toString(cs.getByte(arg)));
        break;

      case Types.SMALLINT:
        strbuf.append("getShort(" + arg + ") = ");
        strbuf.append(Short.toString(cs.getShort(arg)));
        break;

      case Types.INTEGER:
        strbuf.append("getInt(" + arg + ") = ");
        strbuf.append(Integer.toString(cs.getInt(arg)));
        break;

      case Types.BIGINT:
        strbuf.append("getLong(" + arg + ") = ");
        strbuf.append(Long.toString(cs.getLong(arg)));
        break;

      case Types.FLOAT:
      case Types.REAL:
        strbuf.append("getFloat(" + arg + ") = ");
        strbuf.append(Float.toString(cs.getFloat(arg)));
        break;

      case Types.DOUBLE:
        strbuf.append("getDouble(" + arg + ") = ");
        strbuf.append(Double.toString(cs.getDouble(arg)));
        break;

      case Types.DECIMAL:
      case Types.NUMERIC:
        strbuf.append("getBigDecimal(" + arg + ") = ");
        strbuf.append(BigDecimalHandler.getBigDecimalString(cs, arg, paramType));
        break;

      case Types.CHAR:
      case Types.VARCHAR:
      case Types.LONGVARCHAR:
        strbuf.append("getString(" + arg + ") = ");
        String s = cs.getString(arg);
        if (s.startsWith("[B@")) s = "byte[] reference";
        strbuf.append(s);
        break;

      case Types.BINARY:
      case Types.VARBINARY:
      case Types.LONGVARBINARY:
        strbuf.append("getBytes(" + arg + ") = ");
        byteArrayToString(cs.getBytes(arg), strbuf);
        break;

      case Types.DATE:
        strbuf.append("getDate(" + arg + ") = ");
        Date date = cs.getDate(arg);
        strbuf.append(date == null ? "null" : date.toString());
        break;

      case Types.TIME:
        strbuf.append("getTime(" + arg + ") = ");
        Time time = cs.getTime(arg);
        strbuf.append(time == null ? "null" : time.toString());
        break;

      case Types.TIMESTAMP:
        strbuf.append("getTimestamp(" + arg + ") = ");
        Timestamp timestamp = cs.getTimestamp(arg);
        strbuf.append(timestamp == null ? "null" : timestamp.toString());
        break;

      case Types.OTHER:
        strbuf.append("getObject(" + arg + ") = ");
        Object o = cs.getObject(arg);
        if (o == null) {
          strbuf.append("null");
        } else if (o instanceof byte[]) {
          byteArrayToString((byte[]) o, strbuf);
        } else {
          strbuf.append(o.toString());
        }

        break;

      default:
        throw new Throwable("TEST ERROR: unexpected type " + type);
    }
  }
コード例 #11
0
 public byte getByte(String parameterName) throws SQLException {
   return passThru.getByte(parameterName);
 }
コード例 #12
0
 public byte getByte(int parameterIndex) throws SQLException {
   return passThru.getByte(parameterIndex);
 }
コード例 #13
0
 @Override
 public ScheduleType getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
   byte id = cs.getByte(columnIndex);
   return ScheduleType.valueOf(id);
 }