Java JDBC Database Metadata getColumnSize(Connection con, String tableName, String columnName)

Here you can find the source of getColumnSize(Connection con, String tableName, String columnName)

Description

get Column Size

License

Open Source License

Declaration

public static int getColumnSize(Connection con, String tableName,
            String columnName) throws SQLException 

Method Source Code

//package com.java2s;
/*/*  w w w .  j  a  v a2  s . c o m*/
 * Artifactory is a binaries repository manager.
 * Copyright (C) 2013 JFrog Ltd.
 *
 * Artifactory is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Artifactory 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 Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with Artifactory.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

public class Main {
    public static int getColumnSize(Connection con, String tableName,
            String columnName) throws SQLException {
        DatabaseMetaData metaData = con.getMetaData();
        if (metaData.storesLowerCaseIdentifiers()) {
            tableName = tableName.toLowerCase();
            columnName = columnName.toLowerCase();
        } else if (metaData.storesUpperCaseIdentifiers()) {
            tableName = tableName.toUpperCase();
            columnName = columnName.toUpperCase();
        }

        try (Statement statement = con.createStatement()) {
            ResultSet resultSet = statement.executeQuery("SELECT * from "
                    + tableName);
            ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
            int columnCount = resultSetMetaData.getColumnCount();
            for (int i = 1; i <= columnCount; i++) {
                if (resultSetMetaData.getColumnName(i).equals(columnName)) {
                    return resultSetMetaData.getColumnDisplaySize(i);
                }
            }
        }

        return -1;
    }
}

Related

  1. getCatalogs(Connection c)
  2. getColumnDefaultValue(DatabaseMetaData metaData, String tableName, String columnName)
  3. getColumnNames(Connection connection, String tableName)
  4. getColumnNames(String tablename, String column, Connection conn)
  5. getColumns(Connection connection, String name)
  6. getDatabaseId(DatabaseMetaData md)
  7. getDatabaseInfo(Connection connection_)
  8. getDatabaseMetaData(Connection con)
  9. getDatabaseType(DatabaseMetaData metaData)