Mega Code Archive

 
Categories / Java Tutorial / Database
 

Converting a java sql Types integer value into a printable name

import java.lang.reflect.Field; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.util.HashMap; import java.util.Map; public class Main {   public static void main(String[] argv) throws Exception {     String driverName = "com.jnetdirect.jsql.JSQLDriver";     Class.forName(driverName);     String serverName = "127.0.0.1";     String portNumber = "1433";     String mydatabase = serverName + ":" + portNumber;     String url = "jdbc:JSQLConnect://" + mydatabase;     String username = "username";     String password = "password";     Connection connection = DriverManager.getConnection(url, username, password);     DatabaseMetaData dbmd = connection.getMetaData();     ResultSet resultSet = dbmd.getTypeInfo();     while (resultSet.next()) {       String typeName = resultSet.getString("TYPE_NAME");       short dataType = resultSet.getShort("DATA_TYPE");       getJdbcTypeName(dataType);     }   }   public static void getJdbcTypeName(int jdbcType) {     Map map = new HashMap();     // Get all field in java.sql.Types     Field[] fields = java.sql.Types.class.getFields();     for (int i = 0; i < fields.length; i++) {       try {         String name = fields[i].getName();         Integer value = (Integer) fields[i].get(null);         map.put(value, name);       } catch (IllegalAccessException e) {       }     }     System.out.println(map);   } }