⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 preparedstatement.java

📁 我费了好大劲才找到的一款非常全的OA办公自动化软件源码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                    Number parameterAsNum;                    if (parameterObj instanceof Boolean) {                        parameterAsNum = ((Boolean) parameterObj).booleanValue()                            ? new Integer(1) : new Integer(0);                    } else if (parameterObj instanceof String) {                        switch (targetSqlType) {                        case Types.BIT:                            parameterAsNum = (Boolean.getBoolean((String) parameterObj)                                ? new Integer("1") : new Integer("0"));                            break;                        case Types.TINYINT:                        case Types.SMALLINT:                        case Types.INTEGER:                            parameterAsNum = Integer.valueOf((String) parameterObj);                            break;                        case Types.BIGINT:                            parameterAsNum = Long.valueOf((String) parameterObj);                            break;                        case Types.REAL:                            parameterAsNum = Float.valueOf((String) parameterObj);                            break;                        case Types.FLOAT:                        case Types.DOUBLE:                            parameterAsNum = Double.valueOf((String) parameterObj);                            break;                        case Types.DECIMAL:                        case Types.NUMERIC:default:                            parameterAsNum = new java.math.BigDecimal((String) parameterObj);                        }                    } else {                        parameterAsNum = (Number) parameterObj;                    }                    switch (targetSqlType) {                    case Types.BIT:                    case Types.TINYINT:                    case Types.SMALLINT:                    case Types.INTEGER:                        setInt(parameterIndex, parameterAsNum.intValue());                        break;                    case Types.BIGINT:                        setLong(parameterIndex, parameterAsNum.longValue());                        break;                    case Types.REAL:                        setFloat(parameterIndex, parameterAsNum.floatValue());                        break;                    case Types.FLOAT:                    case Types.DOUBLE:                        setDouble(parameterIndex, parameterAsNum.doubleValue());                        break;                    case Types.DECIMAL:                    case Types.NUMERIC:default:                        if (parameterAsNum instanceof java.math.BigDecimal) {                            setBigDecimal(parameterIndex,                                (java.math.BigDecimal) parameterAsNum);                        } else if (parameterAsNum instanceof java.math.BigInteger) {                            setBigDecimal(parameterIndex,                                new java.math.BigDecimal(                                    (java.math.BigInteger) parameterAsNum, scale));                        } else {                            setBigDecimal(parameterIndex,                                new java.math.BigDecimal(                                    parameterAsNum.doubleValue()));                        }                        break;                    }                    break;                case Types.CHAR:                case Types.VARCHAR:                case Types.LONGVARCHAR:                    setString(parameterIndex, parameterObj.toString());                    break;                case Types.CLOB:                    if (parameterObj instanceof java.sql.Clob) {                        setClob(parameterIndex, (java.sql.Clob) parameterObj);                    } else {                        setString(parameterIndex, parameterObj.toString());                    }                    break;                case Types.BINARY:                case Types.VARBINARY:                case Types.LONGVARBINARY:                case Types.BLOB:                    if (parameterObj instanceof byte[]) {                        setBytes(parameterIndex, (byte[]) parameterObj);                    } else if (parameterObj instanceof java.sql.Blob) {                        setBlob(parameterIndex, (java.sql.Blob) parameterObj);                    } else {                        setBytes(parameterIndex,                            StringUtils.getBytes(parameterObj.toString(),                                this.charConverter, this.charEncoding,                                this.connection.getServerCharacterEncoding(), 								this.connection.parserKnowsUnicode()));                    }                    break;                case Types.DATE:                case Types.TIMESTAMP:                    java.util.Date parameterAsDate;                    if (parameterObj instanceof String) {                        ParsePosition pp = new ParsePosition(0);                        java.text.DateFormat sdf = new java.text.SimpleDateFormat(getDateTimePattern(                                    (String) parameterObj, false));                        parameterAsDate = sdf.parse((String) parameterObj, pp);                    } else {                        parameterAsDate = (java.util.Date) parameterObj;                    }                    switch (targetSqlType) {                    case Types.DATE:                        if (parameterAsDate instanceof java.sql.Date) {                            setDate(parameterIndex,                                (java.sql.Date) parameterAsDate);                        } else {                            setDate(parameterIndex,                                new java.sql.Date(parameterAsDate.getTime()));                        }                        break;                    case Types.TIMESTAMP:                        if (parameterAsDate instanceof java.sql.Timestamp) {                            setTimestamp(parameterIndex,                                (java.sql.Timestamp) parameterAsDate);                        } else {                            setTimestamp(parameterIndex,                                new java.sql.Timestamp(                                    parameterAsDate.getTime()));                        }                        break;                    }                    break;                case Types.TIME:                    if (parameterObj instanceof String) {                        java.text.DateFormat sdf = new java.text.SimpleDateFormat(getDateTimePattern(                                    (String) parameterObj, true));                        setTime(parameterIndex,                            new java.sql.Time(sdf.parse((String) parameterObj)                                                 .getTime()));                    } else if (parameterObj instanceof Timestamp) {                        Timestamp xT = (Timestamp) parameterObj;                        setTime(parameterIndex, new java.sql.Time(xT.getTime()));                    } else {                        setTime(parameterIndex, (java.sql.Time) parameterObj);                    }                    break;                case Types.OTHER:                    setSerializableObject(parameterIndex, parameterObj);                    break;                default:                    throw new java.sql.SQLException("Unknown Types value",                        SQLError.SQL_STATE_GENERAL_ERROR);                }            } catch (Exception ex) {                if (ex instanceof java.sql.SQLException) {                    throw (java.sql.SQLException) ex;                } else {                    throw new java.sql.SQLException("Cannot convert "                        + parameterObj.getClass().toString()                        + " to SQL type requested due to "                        + ex.getClass().getName() + " - " + ex.getMessage(),                        SQLError.SQL_STATE_GENERAL_ERROR);                }            }        }    }    /**     * Set the value of a parameter using an object; use the java.lang     * equivalent objects for integral values.     *     * @param parameterIndex the first parameter is 1...     * @param parameterObj the object containing the input parameter value     * @param targetSqlType The SQL type to be send to the database     *     * @throws SQLException if an error occurs     */    public void setObject(int parameterIndex, Object parameterObj,        int targetSqlType) throws SQLException {        setObject(parameterIndex, parameterObj, targetSqlType, 0);    }    /**     * Sets the given parameter to the given object.     *     * @param parameterIndex the parameter to set.     * @param parameterObj the object to use as a value for the parameter.     *     * @throws SQLException if an error occurs.     */    public void setObject(int parameterIndex, Object parameterObj)        throws SQLException {        if (parameterObj == null) {            setNull(parameterIndex, java.sql.Types.OTHER);        } else {            if (parameterObj instanceof Byte) {                setInt(parameterIndex, ((Byte) parameterObj).intValue());            } else if (parameterObj instanceof String) {                setString(parameterIndex, (String) parameterObj);            } else if (parameterObj instanceof BigDecimal) {                setBigDecimal(parameterIndex, (BigDecimal) parameterObj);            } else if (parameterObj instanceof Short) {                setShort(parameterIndex, ((Short) parameterObj).shortValue());            } else if (parameterObj instanceof Integer) {                setInt(parameterIndex, ((Integer) parameterObj).intValue());            } else if (parameterObj instanceof Long) {                setLong(parameterIndex, ((Long) parameterObj).longValue());            } else if (parameterObj instanceof Float) {                setFloat(parameterIndex, ((Float) parameterObj).floatValue());            } else if (parameterObj instanceof Double) {                setDouble(parameterIndex, ((Double) parameterObj).doubleValue());            } else if (parameterObj instanceof byte[]) {                setBytes(parameterIndex, (byte[]) parameterObj);            } else if (parameterObj instanceof java.sql.Date) {                setDate(parameterIndex, (java.sql.Date) parameterObj);            } else if (parameterObj instanceof Time) {                setTime(parameterIndex, (Time) parameterObj);            } else if (parameterObj instanceof Timestamp) {                setTimestamp(parameterIndex, (Timestamp) parameterObj);            } else if (parameterObj instanceof Boolean) {                setBoolean(parameterIndex,                    ((Boolean) parameterObj).booleanValue());            } else if (parameterObj instanceof InputStream) {                setBinaryStream(parameterIndex, (InputStream) parameterObj, -1);            } else if (parameterObj instanceof java.sql.Blob) {                setBlob(parameterIndex, (java.sql.Blob) parameterObj);            } else if (parameterObj instanceof java.sql.Clob) {                setClob(parameterIndex, (java.sql.Clob) parameterObj);            } else if (parameterObj instanceof java.util.Date) {                setTimestamp(parameterIndex,                    new Timestamp(((java.util.Date) parameterObj).getTime()));            } else {                setSerializableObject(parameterIndex, parameterObj);            }        }    }    /**     * @see PreparedStatement#getParameterMetaData()     */    public ParameterMetaData getParameterMetaData() throws SQLException {        throw new NotImplemented();    }    /**     * JDBC 2.0 Set a REF(&lt;structured-type&gt;) parameter.     *     * @param i the first parameter is 1, the second is 2, ...     * @param x an object representing data of an SQL REF Type     *     * @throws SQLException if a database error occurs     * @throws NotImplemented DOCUMENT ME!     */    public void setRef(int i, Ref x) throws SQLException {        throw new NotImplemented();    }    /**     * Set a parameter to a Java short value.  The driver converts this to a     * SQL SMALLINT value when it sends it to the database.     *     * @param parameterIndex the first parameter is 1...     * @param x the parameter value     *     * @throws SQLException if a database access error occurs     */    public void setShort(int parameterIndex, short x) throws SQLException {        setInternal(parameterIndex, String.valueOf(x));    }    /**     * Set a parameter to a Java String value.  The driver converts this to a     * SQL VARCHAR or LONGVARCHAR value (depending on the arguments size     * relative to the driver's limits on VARCHARs) when it sends it to the     * database.     *     * @param parameterIndex the first parameter is 1...     * @param x the parameter value     *     * @throws SQLException if a database error occurs.     */    public void setString(int parameterIndex, String x)        throws SQLException {        // if the passed string is null, then set this column to null        if (x == null) {            try {                setInternal(parameterIndex,                    StringUtils.getBytes("null", this.charConverter,                        this.charEncoding, this.connection.getServerCharacterEncoding(),						this.connection.parserKnowsUnicode()));            } catch (UnsupportedEncodingException uue) {                throw new SQLException("Unsupported character encoding '"                    + this.charEncoding + "'",                    SQLError.SQL_STATE_ILLEGAL_ARGUMENT);            }        } else {            StringBuffer buf = new StringBuffer((int) (x.length() * 1.1));            buf.append('\'');            int stringLength = x.length();            for (int i = 0; i < stringLength; ++i) {                char c = x.charAt(i);                switch (c) {                case 0: /* Must be escaped for 'mysql' */                    buf.append('\\');                    buf.append('0');                    break;                case '\n': /* Must be escaped for logs */                    buf.append('\\');                    buf.append('n');                    break;                case '\r':                    buf.append('\\');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -