2015-04-24 4 views
0

Я работаю над Java-приложением, и я хочу отобразить список таблиц в базе данных Mysql, я искал в сети, и я обнаружил, что «SHOW TABLES FROM [DB] "является соответствующая просьба, но как я могу Dispaly результат этого последнего на приложения Java Swing/AWT, PS: Я пытался поместить результат запроса на результирующем,Показать таблицы базы данных в java

res = sta.executeQuery("SHOW TABLES FROM sinpec ");

но он не работает ...

Как я могу продолжить?

+0

Прочитайте 'resultset' в цикле и передайте значения в соответствующее представление. –

ответ

3

Пожалуйста, попробуйте этот запрос: -

SELECT TABLE_NAME 
FROM INFORMATION_SCHEMA.TABLES 
WHERE table_schema = "DATABASE_NAME" 
+0

Если это один ответ, лучше введите комментарий для него. –

+0

Спасибо Pankaj, он работает;) –

+0

Добро пожаловать, чувак ... :) –

1

Согласно this блога, вы можете использовать следующее заявление:

SELECT table_name FROM information_schema.tables WHERE table_type = 'base table' AND table_schema='test'; 

который, кажется, иметь такой же эффект, что и SHOW TABLES.

Это должно работать с результатом, который вы используете.

0

This example может помочь вам. В принципе, вы можете использовать класс DatabaseMetaData, чтобы выполнить свою задачу.

public static String SCHEMA_NAME="${YOUR_SCHEMA_NAME}"; 

public static void main(String[] args) { 

    //create and setup your database and get db connection 
    DataBase db = new DataBase(); 
    db.init(); 

    try { 
    Connection con = db.getConnection(); 
    DatabaseMetaData metaData = con.getMetaData(); 

    String tableType[] = {"TABLE"}; 

    StringBuilder builder = new StringBuilder(); 

    ResultSet result = metaData.getTables(null,SCHEMA_NAME,null,tableType); 
    while(result.next()) 
    { 
    String tableName = result.getString(3); 

    builder.append(tableName + "("); 
    ResultSet columns = metaData.getColumns(null,null,tableName,null); 

    while(columns.next()) 
    { 
     String columnName = columns.getString(4); 
     builder.append(columnName); 
     builder.append(","); 
    } 
    builder.deleteCharAt(builder.lastIndexOf(",")); 
    builder.append(")"); 
    builder.append("\n"); 
    builder.append("----------------"); 
    builder.append("\n"); 


    } 

    System.out.println(builder.toString()); 


    } catch (SQLException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    } 


} 
Смежные вопросы