2015-05-04 4 views
0

По какой-то причине данные, созданные с помощью java, не будут преобразованы в таблицу при использовании JTable. Может кто-нибудь объяснить мне, почему? Это потому, что мои столбцы или счетчики строк отключены? Мой код и журнал ошибок нижеJTable Не работает

import java.awt.BorderLayout; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.ResultSetMetaData; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.util.Vector; 

import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JScrollPane; 
import javax.swing.JTable;` 

@SuppressWarnings("serial") 
public class tab extends JFrame 
{ 
public tab() 
{ 
    try { 

     Class.forName("com.mysql.jdbc.Driver").newInstance(); 
     Connection dbConn = DriverManager.getConnection("jdbc:mysql://www.papademas.net/Inventory?" 
                  + "user=root&password=jamesp"); 
     Statement st = dbConn.createStatement(); 

    Vector<Vector<Object>> data = new Vector<Vector<Object>>(); 
    Vector<String> column = new Vector<String>(); 
    try { 
     st = dbConn.createStatement(); 
     ResultSet res = st.executeQuery("SELECT * FROM JReimTicketer"); 
     ResultSetMetaData metaData = res.getMetaData(); 
     int columns = metaData.getColumnCount(); 

     //get column names from table! 
     String cols = ""; 

     for (int i = 1; i <= columns ; i++) { 
      cols = metaData.getColumnName(i); 
      column.add(cols); 
     } 
     //get row data from table! 
     while (res.next()) { 
      Vector<Object> row = new Vector<Object>(columns); 

      for (int i = 1; i <= columns; i++) { 
      row.addElement(res.getObject(i)); 
      } 
      data.addElement(row); 
     } 

    } catch (SQLException e) { 
     e.printStackTrace(); 
    } 

    JTable table = new JTable(data,column); 
    JScrollPane scrollPane = new JScrollPane(table); 
    getContentPane().add(scrollPane); 

    JPanel buttonPanel = new JPanel(); 
    getContentPane().add(buttonPanel, BorderLayout.SOUTH); 
} 
    catch (InstantiationException e) { 
     System.err.println("Error in Instantiation!"); 
    } 

    catch (ClassNotFoundException e) { 
     System.err.println("Class not found!"); 
    } 

    catch (IllegalAccessException e) { 
     System.err.println("Access denied!"); 
    } 

    catch (SQLException e) { 
     System.err.println("SQL Error! " + e.getMessage()); 
    } 
} 

public static void main(String[] args) 
{ 
    tab frame = new tab(); 
    frame.setDefaultCloseOperation(EXIT_ON_CLOSE); 
    frame.pack(); 
    frame.setVisible(true); 
} 
} 






com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'inventory.jreimticketer' doesn't exist 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
at java.lang.reflect.Constructor.newInstance(Unknown Source) 
at com.mysql.jdbc.Util.handleNewInstance(Util.java:389) 
at com.mysql.jdbc.Util.getInstance(Util.java:372) 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:980) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3835) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3771) 
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435) 
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582) 
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2531) 
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2489) 
at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1446) 
at tab.<init>(tab.java:33) 
at tab.main(tab.java:84) 
+2

Как показывает ошибка, вы проверили, что фактически существует таблица 'inventory.jreimticketer'? – npinti

+0

Спасибо! он должен был быть 'jdbc: mysql: //www.papademas.net/tickets?' – pHorseSpec

ответ

1
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 
'inventory.jreimticketer' doesn't exist 

Ошибка сама за себя, The стол вы пытаетесь получить доступ, не существует

Просто убедитесь, что JReimTicketer на самом деле существует или нет в вашем база данных .

1

Проблема возникает, потому что ваша таблица не существует в вашей базе данных. Это не имеет никакого отношения к JTable.

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