Java 如何使用SQLite数据库中的int类型日期填充jTable

Java 如何使用SQLite数据库中的int类型日期填充jTable,java,sqlite,netbeans,netbeans-8,Java,Sqlite,Netbeans,Netbeans 8,我正在使用该代码用Java(使用NetBeans)填充我的jTable。我正在使用sqlite数据库。我能够获取所有数据,除了作为长数据存储的日期数据。当我试图在jtable中显示数据时,我得到了下面提到的异常 public void fetch() { try{ String sql="select * from customer"; Class.forName("org.sqlite.JDBC"); Connection con=DriverManager.get

我正在使用该代码用Java(使用NetBeans)填充我的jTable。我正在使用sqlite数据库。我能够获取所有数据,除了作为长数据存储的日期数据。当我试图在jtable中显示数据时,我得到了下面提到的异常

public void fetch()
{
 try{
    String sql="select * from customer"; 
    Class.forName("org.sqlite.JDBC");
    Connection con=DriverManager.getConnection("jdbc:sqlite:D:\\Apps\\SQLite3\\FCC.db");
    Statement st=con.createStatement();
    ResultSet rs=st.executeQuery(sql); 
    jTable1.setModel(DbUtils.resultSetToTableModel(rs));
    st.close();
    con.close();        
    }                                        
    catch (HeadlessException | ClassNotFoundException | NumberFormatException | SQLException e)
  {JOptionPane.showMessageDialog(null,e);}       
}
但是日期存储为整数,我收到一条异常消息

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.Long cannot be cast to java.util.Date
at NewJFrame.jTable1MouseClicked(NewJFrame.java:391)
at NewJFrame.access$400(NewJFrame.java:13)
at NewJFrame$6.mouseClicked(NewJFrame.java:174)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
at java.awt.Component.processMouseEvent(Component.java:6536)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4534)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

如何使用SQLite数据库中的
int
键入日期来填充jTable
date
列。

能否将数据模型添加到问题中?请发布一个和完整的异常堆栈跟踪。不要让我们猜测。下面是我用来填充jTable:public void fetch(){try{String sql=“select*from customer”;Class.forName(“org.sqlite.JDBC”);Connection con=DriverManager.getConnection(“JDBC:sqlite:D:\\Apps\\SQLite3\\FCC.db”);语句st=con.createStatement();结果集rs=st.executeQuery(sql);jTable1.setModel(DbUtils.resultSetToTableModel(rs));st.close();con.close();}@巴伦:我假设您的
日期
数据存储为
unix\u时间戳
。因此,作为替代解决方案,您可以从unixtime(intColumnOfDate,%Y-%m-%d')尝试使用
select,…
。这可能会对您有所帮助。您可以将数据模型添加到您的问题中吗?请发布一个和完整的异常stacktrace。不要让我们猜测。下面是我用来填充jTable:public void fetch(){try{String sql=“select*from customer”;Class.forName的代码(“org.sqlite.JDBC”);Connection con=DriverManager.getConnection(“JDBC:sqlite:D:\\Apps\\SQLite3\\FCC.db”);Statement st=con.createStatement();ResultSet rs=st.executeQuery(sql);jTable1.setModel(DbUtils.resultsetTableModel(rs));st.close();con.close();}@巴伦:我假设您的
日期
数据存储为
unix\u时间戳
。因此,作为一种替代解决方案,您可以从unixtime(intColumnOfDate,%Y-%m-%d'),…
尝试使用
select…。这可能会对您有所帮助。