Integer index = (Integer)stmt.removeBindingVariable(variable); stmt.getPreparedStatement().setString(index.intValue(), value.toString()); return BooleanValue.TRUE;
if (variable == null) { return false; }  if (!variable.startsWith(":")) { variable = ":" + variable; }  if (variable.length() < 2) { return false; }  Integer index = (Integer) stmt.removeBindingVariable(variable);  int i = index.intValue();  PreparedStatement pstmt = stmt.getPreparedStatement();  if (type == SQLT_RSET) { CallableStatement cstmt = (CallableStatement) pstmt; Class cl = Class.forName("oracle.jdbc.OracleTypes"); int cursorType = cl.getDeclaredField("CURSOR").getInt(null); cstmt.registerOutParameter(i, cursorType); OracleStatement cursor = (OracleStatement) value; cursor.setPreparedStatement(cstmt); } else { pstmt.setString(i, value.toString()); }  return true;
  public static Value oci_bind_by_name(Env env,                                       @NotNull OracleStatement stmt,                                       @NotNull String variable,                                       @NotNull Value value,                                       @Optional("0") int maxLength,                                       @Optional("0") int type)  {    try {      Integer index = (Integer)stmt.removeBindingVariable(variable);      stmt.getPreparedStatement().setString(index.intValue(), value.toString());      return BooleanValue.TRUE;    } catch (Exception ex) {      log.log(Level.FINE, ex.toString(), ex);      try {        stmt.resetBindingVariables();      } catch (Exception ex2) {        log.log(Level.FINE, ex2.toString(), ex2);      }    }    return BooleanValue.FALSE;  }