private void insertValue(String s) throws SQLException {

    if (getNullValue()) {
      rs.updateNull(idx);
      return;
    }

    // no longer have to deal with those pesky nulls.
    int type = rs.getMetaData().getColumnType(idx);
    switch (type) {
      case j86.java.sql.Types.BIT:
        rs.updateBoolean(idx, getBooleanValue(s));
        break;
      case j86.java.sql.Types.BOOLEAN:
        rs.updateBoolean(idx, getBooleanValue(s));
        break;
      case j86.java.sql.Types.SMALLINT:
      case j86.java.sql.Types.TINYINT:
        rs.updateShort(idx, getShortValue(s));
        break;
      case j86.java.sql.Types.INTEGER:
        rs.updateInt(idx, getIntegerValue(s));
        break;
      case j86.java.sql.Types.BIGINT:
        rs.updateLong(idx, getLongValue(s));
        break;
      case j86.java.sql.Types.REAL:
      case j86.java.sql.Types.FLOAT:
        rs.updateFloat(idx, getFloatValue(s));
        break;
      case j86.java.sql.Types.DOUBLE:
        rs.updateDouble(idx, getDoubleValue(s));
        break;
      case j86.java.sql.Types.NUMERIC:
      case j86.java.sql.Types.DECIMAL:
        rs.updateObject(idx, getBigDecimalValue(s));
        break;
      case j86.java.sql.Types.BINARY:
      case j86.java.sql.Types.VARBINARY:
      case j86.java.sql.Types.LONGVARBINARY:
        rs.updateBytes(idx, getBinaryValue(s));
        break;
      case j86.java.sql.Types.DATE:
        rs.updateDate(idx, getDateValue(s));
        break;
      case j86.java.sql.Types.TIME:
        rs.updateTime(idx, getTimeValue(s));
        break;
      case j86.java.sql.Types.TIMESTAMP:
        rs.updateTimestamp(idx, getTimestampValue(s));
        break;
      case j86.java.sql.Types.CHAR:
      case j86.java.sql.Types.VARCHAR:
      case j86.java.sql.Types.LONGVARCHAR:
        rs.updateString(idx, getStringValue(s));
        break;
      default:
    }
  }