亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? field.java

?? jsp數據庫系統(tǒng)
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*
   Copyright (C) 2002 MySQL AB

      This program is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published by
      the Free Software Foundation; either version 2 of the License, or
      (at your option) any later version.

      This program is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      GNU General Public License for more details.

      You should have received a copy of the GNU General Public License
      along with this program; if not, write to the Free Software
      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

 */
package com.mysql.jdbc;

import java.io.UnsupportedEncodingException;


/**
 * Field is a class used to describe fields in a
 * ResultSet
 *
 * @author Mark Matthews
 * @version $Id: Field.java,v 1.15.2.6 2004/02/06 00:54:16 mmatthew Exp $
 */
public class Field {
    //~ Static fields/initializers ---------------------------------------------

    private static final int AUTO_INCREMENT_FLAG = 512;
    private static final int NO_CHARSET_INFO = -1;

    //~ Instance fields --------------------------------------------------------

    private Connection connection = null;
    private String charsetName = null;
    private String databaseName = null;
    private String defaultValue = null;
    private String fullName = null;
    private String fullNameWithDatabase = null;
    private String fullOriginalName = null;
    private String fullOriginalNameWithDatabase = null;
    private String name; // The Field name
    private String originalColumnName = null;
    private String originalTableName = null;
    private String tableName; // The Name of the Table
    private byte[] buffer;
    private int charsetIndex = 0;
    private int colDecimals;
    private int databaseNameLength = -1;

    // database name info
    private int databaseNameStart = -1;
    private int defaultValueLength = -1;

    // default value info - from COM_LIST_FIELDS execution
    private int defaultValueStart = -1;
    private int length; // Internal length of the field;
    private int mysqlType = -1; // the MySQL type
    private int nameLength;
    private int nameStart;
    private int originalColumnNameLength = -1;

    // column name info (before aliasing)
    private int originalColumnNameStart = -1;
    private int originalTableNameLength = -1;

    // table name info (before aliasing)
    private int originalTableNameStart = -1;
    private int precisionAdjustFactor = 0;
    private int sqlType = -1; // the java.sql.Type
    private int tableNameLength;
    private int tableNameStart;
    private short colFlag;

    //~ Constructors -----------------------------------------------------------

    /**
    * Constructor used by DatabaseMetaData methods.
    */
    Field(String tableName, String columnName, int jdbcType, int length) {
        this.tableName = tableName;
        this.name = columnName;
        this.length = length;
        sqlType = jdbcType;
        colFlag = 0;
        colDecimals = 0;
    }

    /**
     * Constructor used when communicating with pre 4.1 servers
     */
    Field(Connection conn, byte[] buffer, int nameStart, int nameLength,
        int tableNameStart, int tableNameLength, int length, int mysqlType,
        short colFlag, int colDecimals) {
        this(conn, buffer, -1, -1, tableNameStart, tableNameLength, -1, -1,
            nameStart, nameLength, -1, -1, length, mysqlType, colFlag,
            colDecimals, -1, -1, NO_CHARSET_INFO);
    }

    /**
     * Constructor used when communicating with 4.1 and newer
     * servers
     */
    Field(Connection conn, byte[] buffer, int databaseNameStart,
        int databaseNameLength, int tableNameStart, int tableNameLength,
        int originalTableNameStart, int originalTableNameLength, int nameStart,
        int nameLength, int originalColumnNameStart,
        int originalColumnNameLength, int length, int mysqlType, short colFlag,
        int colDecimals, int defaultValueStart, int defaultValueLength,
        int charsetIndex) {
        this.connection = conn;
        this.buffer = buffer;
        this.nameStart = nameStart;
        this.nameLength = nameLength;
        this.tableNameStart = tableNameStart;
        this.tableNameLength = tableNameLength;
        this.length = length;
        this.colFlag = colFlag;
        this.colDecimals = colDecimals;
        this.mysqlType = mysqlType;

        // 4.1 field info...
        this.databaseNameStart = databaseNameStart;
        this.databaseNameLength = databaseNameLength;

        this.originalTableNameStart = originalTableNameStart;
        this.originalTableNameLength = originalTableNameLength;

        this.originalColumnNameStart = originalColumnNameStart;
        this.originalColumnNameLength = originalColumnNameLength;

        this.defaultValueStart = defaultValueStart;
        this.defaultValueLength = defaultValueLength;

        // Map MySqlTypes to java.sql Types
        sqlType = MysqlDefs.mysqlToJavaType(mysqlType);

        // If we're not running 4.1 or newer, use the connection's
        // charset
        if (charsetIndex != NO_CHARSET_INFO) {
            this.charsetIndex = charsetIndex;
			this.charsetName = CharsetMapping.INDEX_TO_CHARSET[this.charsetIndex];
            
            // Punt
            if (this.charsetName == null) {
				this.charsetName = this.connection.getEncoding();
            }  
        } else {
            this.charsetName = this.connection.getEncoding();
        }

        boolean isBinary = isBinary();

        //
        // Handle TEXT type (special case), Fix proposed by Peter McKeown
        //
        if ((sqlType == java.sql.Types.LONGVARBINARY) && !isBinary) {
            sqlType = java.sql.Types.LONGVARCHAR;
        } else if ((sqlType == java.sql.Types.VARBINARY) && !isBinary) {
            sqlType = java.sql.Types.VARCHAR;
        }

        //
        // Handle odd values for 'M' for floating point/decimal numbers
        //
        if (!isUnsigned()) {
            switch (this.mysqlType) {
            case MysqlDefs.FIELD_TYPE_DECIMAL:
                this.precisionAdjustFactor = -1;

                break;

            case MysqlDefs.FIELD_TYPE_DOUBLE:
            case MysqlDefs.FIELD_TYPE_FLOAT:
                this.precisionAdjustFactor = 1;

                break;
            }
        } else {
            switch (this.mysqlType) {
            case MysqlDefs.FIELD_TYPE_DOUBLE:
            case MysqlDefs.FIELD_TYPE_FLOAT:
                this.precisionAdjustFactor = 1;

                break;
            }
        }
    }

    //~ Methods ----------------------------------------------------------------

    /**
     * DOCUMENT ME!
     *
     * @return DOCUMENT ME!
     */
    public boolean isAutoIncrement() {
        return ((colFlag & AUTO_INCREMENT_FLAG) > 0);
    }

    /**
     * DOCUMENT ME!
     *
     * @return DOCUMENT ME!
     */
    public boolean isBinary() {
        return ((colFlag & 128) > 0);
    }

    /**
     * DOCUMENT ME!
     *
     * @return DOCUMENT ME!
     */
    public boolean isBlob() {
        return ((colFlag & 16) > 0);
    }

    /**
     * Returns the character set (if known) for this
     * field.
     *
     * @return the character set
     */
    public String getCharacterSet() {
        return this.charsetName;
    }

    /**
     * DOCUMENT ME!
     *
     * @param conn DOCUMENT ME!
     */
    public void setConnection(Connection conn) {
        this.connection = conn;
        
		this.charsetName = this.connection.getEncoding();
    }

    /**
     * DOCUMENT ME!
     *
     * @return DOCUMENT ME!
     */
    public String getDatabaseName() {
        if ((this.databaseName == null) && (this.databaseNameStart != -1)
                && (this.databaseNameLength != -1)) {
            this.databaseName = getStringFromBytes(this.databaseNameStart,
                    this.databaseNameLength);
        }

        return this.databaseName;
    }

    /**
     * DOCUMENT ME!
     *
     * @return DOCUMENT ME!
     */
    public String getFullName() {
        if (fullName == null) {
            StringBuffer fullNameBuf = new StringBuffer(getTableName().length()
                    + 1 + getName().length());
            fullNameBuf.append(tableName);

            // much faster to append a char than a String
            fullNameBuf.append('.');

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区不卡老阿姨| 一区二区三区在线播| 成人app下载| 日韩精品成人一区二区在线| 国产欧美日韩激情| 制服视频三区第一页精品| 成人精品视频一区二区三区| 亚洲成人久久影院| 九九视频精品免费| 亚洲福中文字幕伊人影院| 国产精品网站在线| 欧美xxxxxxxx| 91精品国产综合久久婷婷香蕉 | 亚洲综合视频网| 久久久久99精品国产片| 91精品国产91热久久久做人人| 成人免费毛片a| 激情综合色播五月| 视频在线观看91| 亚洲精品成人少妇| 中文字幕永久在线不卡| 2020国产精品自拍| 日韩午夜av电影| 欧美日韩成人一区| 欧美日韩成人一区| 欧美日韩你懂得| 日本乱码高清不卡字幕| 波多野结衣中文一区| 国产精品一二三四| 精品一区二区三区免费观看| 午夜伦理一区二区| 亚洲国产精品一区二区久久| 亚洲欧美日韩中文字幕一区二区三区| 久久久久国产精品厨房| 精品久久一区二区| 欧美电影免费观看高清完整版在线| 欧洲一区在线观看| 91久久国产综合久久| 91麻豆国产在线观看| 成人动漫精品一区二区| 国产成人精品1024| 高清国产一区二区| 高清不卡一区二区| 国产91高潮流白浆在线麻豆| 成人性生交大合| 成人国产视频在线观看| 97精品电影院| 91久久精品网| 欧美精品三级日韩久久| 欧美精品少妇一区二区三区| 欧美一级午夜免费电影| 欧美大肚乱孕交hd孕妇| 欧美本精品男人aⅴ天堂| 日韩精品一区二区三区蜜臀| 久久精品一区二区三区四区| 国产调教视频一区| 亚洲欧美在线aaa| 亚洲精品你懂的| 亚洲成人动漫一区| 麻豆精品一区二区三区| 精品一区二区三区香蕉蜜桃 | 欧美成人官网二区| 久久中文字幕电影| 欧美国产精品一区二区三区| 国产精品高潮呻吟| 一区二区三国产精华液| 日韩精品电影一区亚洲| 国产一区二区三区综合| 成人午夜视频福利| 日本韩国欧美国产| 91精品国产综合久久久久久漫画| 欧美不卡一区二区三区四区| 国产欧美一区二区精品性| 最好看的中文字幕久久| 亚洲国产乱码最新视频| 狠狠v欧美v日韩v亚洲ⅴ| 高清久久久久久| 欧美人狂配大交3d怪物一区| 欧美成人video| 亚洲欧美日韩久久精品| 麻豆国产欧美日韩综合精品二区 | 久久精品久久综合| a在线播放不卡| 久久这里都是精品| 国产欧美一区二区三区鸳鸯浴| 18成人在线视频| 亚洲成人先锋电影| 国产乱淫av一区二区三区| 在线免费观看成人短视频| 91精品国产综合久久久久久漫画 | 成人黄色一级视频| 欧美体内she精视频| 精品国产乱码久久久久久牛牛| 国产精品大尺度| 日韩成人av影视| 成人免费毛片a| 日韩午夜中文字幕| 亚洲免费视频成人| 国产在线日韩欧美| 欧美精品三级日韩久久| 亚洲视频一区二区在线观看| 久久国产精品99久久久久久老狼| 91丨九色丨蝌蚪丨老版| 日韩三区在线观看| 亚洲精品成a人| 久久99精品一区二区三区 | 精品国产一区二区三区四区四| 亚洲天堂网中文字| 韩国av一区二区三区四区| 欧美最猛性xxxxx直播| 欧美极品少妇xxxxⅹ高跟鞋| 日韩精品三区四区| 91啦中文在线观看| 国产欧美日韩精品在线| 久久国产精品99精品国产 | 91精品办公室少妇高潮对白| 久久精品亚洲麻豆av一区二区| 五月婷婷综合激情| 91精品福利在线| 国产精品成人午夜| 高清久久久久久| 国产午夜亚洲精品理论片色戒| 久久成人久久爱| 91精品国产综合久久久久| 一区二区国产盗摄色噜噜| 成人免费的视频| 国产欧美日韩久久| 大胆欧美人体老妇| 久久精品无码一区二区三区| 久久66热偷产精品| 日韩精品一区国产麻豆| 美国三级日本三级久久99 | 91啪九色porn原创视频在线观看| 久久综合网色—综合色88| 美国欧美日韩国产在线播放| 制服丝袜日韩国产| 麻豆91在线看| 精品欧美黑人一区二区三区| 老司机午夜精品99久久| 91精品国产乱码| 美美哒免费高清在线观看视频一区二区 | 在线电影一区二区三区| 午夜日韩在线观看| 欧美猛男超大videosgay| 午夜精品免费在线| 欧美二区三区91| 麻豆精品视频在线观看免费 | 在线成人av影院| 偷拍日韩校园综合在线| 4438x亚洲最大成人网| 日韩电影网1区2区| 久久尤物电影视频在线观看| 国产一区二区三区黄视频 | 国产精品素人一区二区| 成人av电影免费在线播放| 91丨九色丨尤物| 亚洲成人三级小说| 3d动漫精品啪啪一区二区竹菊| 五月婷婷激情综合| 日韩欧美亚洲另类制服综合在线| 久久精品国产一区二区| 久久婷婷综合激情| aaa亚洲精品| 亚洲国产日产av| 91精品国产欧美日韩| 国产麻豆成人传媒免费观看| 国产精品私人自拍| 国产精品三级av在线播放| 波多野结衣的一区二区三区| 亚洲韩国精品一区| 日韩欧美国产麻豆| 成人精品一区二区三区中文字幕| 一区二区三区四区中文字幕| 制服丝袜成人动漫| 国产经典欧美精品| 一区二区在线观看免费视频播放 | 欧美变态凌虐bdsm| www.日本不卡| 午夜欧美视频在线观看| 久久综合色天天久久综合图片| 成人午夜av影视| 亚洲午夜精品17c| 精品国产乱码久久| 91蜜桃在线免费视频| 五月天一区二区| 久久精品欧美日韩精品| 色国产综合视频| 国产综合久久久久久久久久久久| 亚洲精品视频在线看| 日韩欧美高清在线| 色综合久久中文字幕| 久久精品国产99久久6| 亚洲特级片在线| 日韩精品最新网址| 色综合久久天天| 国产精品18久久久久久久网站| 亚洲国产精品久久一线不卡| 久久亚洲欧美国产精品乐播| 欧美主播一区二区三区美女| 国产福利一区二区三区在线视频|