#java #mysql #sql #jdbc
#java #mysql #sql #jdbc
Вопрос:
У меня есть задание для домашней работы, чтобы распечатать количество столбцов, их имена и типы для данной таблицы, которая вводится. Вот код:
public void printTableInfo(String tableName) throws DLException{
String catalog = null;
String schemaPattern = null;
String tableNamePattern = tableName;
String columnNamePattern = null;
int columnCount = 0;
String columnName = null;
int columnType = 0;
String columnPrimaryKeys = null;
try {
DatabaseMetaData dbmd = connection.getMetaData();
ResultSet result = dbmd.getColumns(catalog, schemaPattern, tableNamePattern, columnNamePattern);
ResultSetMetaData rsmd = result.getMetaData();
columnCount = rsmd.getColumnCount();
ResultSet primaryKeys = dbmd.getPrimaryKeys(catalog, schemaPattern, tableNamePattern);
while(result.next()) {
columnName = result.getString(4);
columnType = result.getInt(5);
}
while(primaryKeys.next()) {
columnPrimaryKeys = primaryKeys.getString(4);
}
System.out.println("nColumn count: " columnCount ", Column names: " columnName ", Column Types: " columnType "nPrimary Keys: " columnPrimaryKeys);
} catch (SQLException sqle) {
throw new DLException(sqle, "-> Error in processing data printing (SQLException) to the database at printTableInfo() method.");
}
}
Однако, когда я запускаю этот код, он выдает мне более чем очевидное количество столбцов для таблицы, чем у него есть, только имя последнего столбца и неправильное количество типов столбцов. Как я могу сделать так, чтобы он выдавал правильное количество столбцов, отображал все имена столбцов и правильное количество типов столбцов? P.S часть первичного ключа работает нормально.
Ответ №1:
Я понял это, я печатал не в том месте. Подайте на меня в суд.