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

📄 support.java

📁 第三方的SQL Server and Sybase的jdbc dirver,速度更快
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
                    } else if (x instanceof Boolean) {                        return x;                    } else if (x instanceof Number) {                        return(((Number) x).intValue() == 0) ? Boolean.FALSE : Boolean.TRUE;                    } else if (x instanceof String) {                        String tmp = ((String) x).trim();                        return (tmp.equals("1") || tmp.equalsIgnoreCase("true")) ? Boolean.TRUE : Boolean.FALSE;                    }                    break;                case java.sql.Types.VARBINARY:                case java.sql.Types.BINARY:                    if (x == null) {                        return null;                    } else if (x instanceof byte[]) {                        return x;                    } else if (x instanceof Blob) {                        Blob blob = (Blob) x;                        return blob.getBytes(1, (int) blob.length());                    } else if (x instanceof Clob) {                        Clob clob = (Clob) x;                        long length = clob.length();                        if (length > Integer.MAX_VALUE) {                            throw new SQLException(Messages.get("error.normalize.lobtoobig"),                                                   "22000");                        }                        x = clob.getSubString(1, (int) length);                    }                    if (x instanceof String) {                        //                        // Strictly speaking this conversion is not required by                        // the JDBC standard but jTDS has always supported it.                        //                        if (charSet == null) {                            charSet = "ISO-8859-1";                        }                        try {                            return ((String) x).getBytes(charSet);                        } catch (UnsupportedEncodingException e) {                            return ((String) x).getBytes();                        }                    } else if (x instanceof UniqueIdentifier) {                        return ((UniqueIdentifier) x).getBytes();                    }                    break;                case java.sql.Types.TIMESTAMP:                    if (x == null) {                        return null;                    } else if (x instanceof DateTime) {                        return ((DateTime) x).toTimestamp();                    } else if (x instanceof java.sql.Timestamp) {                        return x;                    } else if (x instanceof java.sql.Date) {                        return new java.sql.Timestamp(((java.sql.Date) x).getTime());                    } else if (x instanceof java.sql.Time) {                        return new java.sql.Timestamp(((java.sql.Time) x).getTime());                    } else if (x instanceof java.lang.String) {                        return java.sql.Timestamp.valueOf(((String)x).trim());                    }                    break;                case java.sql.Types.DATE:                    if (x == null) {                        return null;                    } else if (x instanceof DateTime) {                        return ((DateTime) x).toDate();                    } else if (x instanceof java.sql.Date) {                        return x;                    } else if (x instanceof java.sql.Time) {                        return DATE_ZERO;                    } else if (x instanceof java.sql.Timestamp) {                        synchronized (cal) {                            cal.setTime((java.util.Date) x);                            cal.set(Calendar.HOUR_OF_DAY, 0);                            cal.set(Calendar.MINUTE, 0);                            cal.set(Calendar.SECOND, 0);                            cal.set(Calendar.MILLISECOND, 0);// VM1.4+ only              return new java.sql.Date(cal.getTimeInMillis());                            return new java.sql.Date(cal.getTime().getTime());                        }                    } else if (x instanceof java.lang.String) {                        return java.sql.Date.valueOf(((String) x).trim());                    }                    break;                case java.sql.Types.TIME:                    if (x == null) {                        return null;                    } else if (x instanceof DateTime) {                        return ((DateTime) x).toTime();                    } else if (x instanceof java.sql.Time) {                        return x;                    } else if (x instanceof java.sql.Date) {                        return TIME_ZERO;                    } else if (x instanceof java.sql.Timestamp) {                        synchronized (cal) {// VM 1.4+ only             cal.setTimeInMillis(((java.sql.Timestamp)x).getTime());                            cal.setTime((java.util.Date)x);                            cal.set(Calendar.YEAR, 1970);                            cal.set(Calendar.MONTH, 0);                            cal.set(Calendar.DAY_OF_MONTH,1);// VM 1.4+ only             return new java.sql.Time(cal.getTimeInMillis());*/                            return new java.sql.Time(cal.getTime().getTime());                        }                    } else if (x instanceof java.lang.String) {                        return java.sql.Time.valueOf(((String) x).trim());                    }                    break;                case java.sql.Types.OTHER:                    return x;                case java.sql.Types.JAVA_OBJECT:                    throw new SQLException(                            Messages.get("error.convert.badtypes",                                    x.getClass().getName(),                                    getJdbcTypeName(jdbcType)), "22005");                case java.sql.Types.LONGVARBINARY:                case java.sql.Types.BLOB:                    if (x == null) {                        return null;                    } else if (x instanceof Blob) {                        return x;                    } else if (x instanceof byte[]) {                        return new BlobImpl(getConnection(callerReference), (byte[]) x);                    } else if (x instanceof Clob) {                        //                        // Convert CLOB to BLOB. Not required by the standard but we will                        // do it anyway.                        //                        Clob clob = (Clob) x;                        try {                            if (charSet == null) {                                charSet = "ISO-8859-1";                            }                            Reader rdr = clob.getCharacterStream();                            BlobImpl blob = new BlobImpl(getConnection(callerReference));                            BufferedWriter out =                                new BufferedWriter(new OutputStreamWriter(blob.setBinaryStream(1), charSet));                            // TODO Use a buffer to improve performance                            int c;                            while ((c = rdr.read()) >= 0) {                                out.write(c);                            }                            out.close();                            rdr.close();                            return blob;                        } catch (UnsupportedEncodingException e) {                            // Unlikely to happen but fall back on in memory copy                            x = clob.getSubString(1, (int) clob.length());                        } catch (IOException e) {                            throw new SQLException(Messages.get("error.generic.ioerror", e.getMessage()),                            "HY000");                        }                    }                    if (x instanceof String) {                        //                        // Strictly speaking this conversion is also not required by                        // the JDBC standard but jTDS has always supported it.                        //                        BlobImpl blob = new BlobImpl(getConnection(callerReference));                        String data = (String) x;                        if (charSet == null) {                            charSet = "ISO-8859-1";                        }                        try {                            blob.setBytes(1, data.getBytes(charSet));                        } catch (UnsupportedEncodingException e) {                            blob.setBytes(1, data.getBytes());                        }                        return blob;                    }                    break;                case java.sql.Types.LONGVARCHAR:                case java.sql.Types.CLOB:                    if (x == null) {                        return null;                    } else if (x instanceof Clob) {                        return x;                    } else if (x instanceof Blob) {                        //                        // Convert BLOB to CLOB                        //                        Blob blob = (Blob) x;                        try {                            InputStream is = blob.getBinaryStream();                            ClobImpl clob = new ClobImpl(getConnection(callerReference));                            Writer out = clob.setCharacterStream(1);                            // TODO Use a buffer to improve performance                            int b;                            // These reads/writes are buffered by the undelying blob buffers                            while ((b = is.read()) >= 0) {                                out.write(hex[b >> 4]);                                out.write(hex[b & 0x0F]);                            }                            out.close();                            is.close();                            return clob;                        } catch (IOException e) {                            throw new SQLException(Messages.get("error.generic.ioerror", e.getMessage()),                            "HY000");                        }                    } else if (x instanceof Boolean) {                        x = ((Boolean) x).booleanValue() ? "1" : "0";                    } else if (!(x instanceof byte[])) {                        x = x.toString();                    }                    if (x instanceof byte[]) {                        ClobImpl clob = new ClobImpl(getConnection(callerReference));                        clob.setString(1, toHex((byte[]) x));                        return clob;                    } else if (x instanceof String) {                        return new ClobImpl(getConnection(callerReference), (String) x);                    }                    break;                default:                    throw new SQLException(                            Messages.get("error.convert.badtypeconst",                                    getJdbcTypeName(jdbcType)), "HY004");            }            throw new SQLException(                    Messages.get("error.convert.badtypes",                            x.getClass().getName(),                            getJdbcTypeName(jdbcType)), "22005");        } catch (NumberFormatException nfe) {            throw new SQLException(                    Messages.get("error.convert.badnumber",                            getJdbcTypeName(jdbcType)), "22000");        }    }    /**     * Get the JDBC type constant which matches the supplied Object type.     *     * @param value The object to analyse.     * @return The JDBC type constant as an <code>int</code>.     */    static int getJdbcType(Object value) {        if (value == null) {            return java.sql.Types.NULL;        }        Object type = typeMap.get(value.getClass());        if (type == null) {            return java.sql.Types.JAVA_OBJECT;        }        return ((Integer) type).intValue();    }    /**     * Get a String describing the supplied JDBC type constant.     *     * @param jdbcType The constant to be decoded.     * @return The text decode of the type constant as a <code>String</code>.     */    static String getJdbcTypeName(int jdbcType) {        switch (jdbcType) {            case java.sql.Types.ARRAY:         return "ARRAY";            case java.sql.Types.BIGINT:        return "BIGINT";            case java.sql.Types.BINARY:        return "BINARY";            case java.sql.Types.BIT:           return "BIT";            case java.sql.Types.BLOB:          return "BLOB";            case JtdsStatement.BOOLEAN:        return "BOOLEAN";            case java.sql.Types.CHAR:          return "CHAR";            case java.sql.Types.CLOB:          return "CLOB";            case JtdsStatement.DATALINK:       return "DATALINK";            case java.sql.Types.DATE:          return "DATE";            case java.sql.Types.DECIMAL:       return "DECIMAL";            case java.sql.Types.DISTINCT:      return "DISTINCT";            case java.sql.Types.DOUBLE:        return "DOUBLE";            case java.sql.Types.FLOAT:         return "FLOAT";            case java.sql.Types.INTEGER:       return "INTEGER";            case java.sql.Types.JAVA_OBJECT:   return "JAVA_OBJECT";            case java.sql.Types.LONGVARBINARY: return "LONGVARBINARY";            case java.sql.Types.LONGVARCHAR:   return "LONGVARCHAR";            case java.sql.Types.NULL:          return "NULL";            case java.sql.Types.NUMERIC:       return "NUMERIC";            case java.sql.Types.OTHER:         return "OTHER";            case java.sql.Types.REAL:          return "REAL";            case java.sql.Types.REF:           return "REF";            case java.sql.Types.SMALLINT:      return "SMALLINT";            case java.sql.Types.STRUCT:        return "STRUCT";            case java.sql.Types.TIME:          return "TIME";            case java.sql.Types.TIMESTAMP:     return "TIMESTAMP";            case java.sql.Types.TINYINT:       return "TINYINT";            case java.sql.Types.VARBINARY:     return "VARBINARY";            case java.sql.Types.VARCHAR:       return "VARCHAR";

⌨️ 快捷键说明

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