Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JTable中显示MS Access数据_Java - Fatal编程技术网

Java 在JTable中显示MS Access数据

Java 在JTable中显示MS Access数据,java,Java,我无法显示从MS Access到JavaJTable的数据。堆栈跟踪附着在底部 public void ShowData() throws SQLException { conn = LoginClass.ConnectDB(); String sql2 = "Select * From TEST"; Vector col = new Vector(); Vector dat = new Vector(); col.add("ID"); co

我无法显示从MS Access到Java
JTable
的数据。堆栈跟踪附着在底部

public  void ShowData() throws SQLException {

    conn = LoginClass.ConnectDB();
    String sql2 = "Select * From TEST";

    Vector col = new Vector();
    Vector dat = new Vector();
    col.add("ID");
    col.add("Stu1_Name");
    rs = conn.createStatement().executeQuery(sql2);
    dat.clear();

    if(rs.next()) {
        Vector v = new Vector();

        v.add(rs.getString("ID").trim());
        v.add(rs.getString("StuName").trim());
        dat.addElement(v);
        }

    jTable1.setModel(new DefaultTableModel(col,dat));
}

java.lang.ClassCastException:java.lang.String不能转换为java.util.Vector
位于javax.swing.table.DefaultTableModel.justifyRows(DefaultTableModel.java:268)
位于javax.swing.table.DefaultTableModel.setDataVector(DefaultTableModel.java:224)
位于javax.swing.table.DefaultTableModel。(DefaultTableModel.java:159)
at assignment.TEST.ShowData(TEST.java:51)
在assignment.TEST.FormWindowOpen(TEST.java:120)处
at assignment.TEST.access$000(TEST.java:25)
在assignment.TEST$1.windowOpened(TEST.java:76)
位于java.awt.Window.processWindowEvent(Window.java:2048)
位于javax.swing.JFrame.processWindowEvent(JFrame.java:296)
在java.awt.Window.processEvent(Window.java:2009)
位于java.awt.Component.dispatchEventImpl(Component.java:4872)
位于java.awt.Container.dispatchEventImpl(Container.java:2287)
位于java.awt.Window.dispatchEventImpl(Window.java:2719)
位于java.awt.Component.dispatchEvent(Component.java:4698)
位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
在java.awt.EventQueue.access$200(EventQueue.java:103)
位于java.awt.EventQueue$3.run(EventQueue.java:694)
在java.awt.EventQueue$3.run(EventQueue.java:692)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
在java.awt.EventQueue$4.run(EventQueue.java:708)
在java.awt.EventQueue$4.run(EventQueue.java:706)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
位于java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
在java.awt.EventDispatchThread.PumpeEventsforFilter(EventDispatchThread.java:161)
位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:150)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
在java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
在这一行代码中:

jTable1.setModel(new DefaultTableModel(col,dat));

将交换
DefaultTableModel
构造函数的参数。列名应该是第二个参数。

“java.lang.ClassCastException:java.lang.String不能转换为java.util.Vector”-这是您的答案。接受2个向量的DefaultTableModel的构造函数希望第二个向量包含字符串。您没有将字符串放入dat向量。bro我甚至尝试将字符串值传递给dat,但如果我将字符串传递给dat,它仍然不起作用。它应该是这样的:dat.add(rs.getString(“ID”).trim();dat.add(rs.getString(“StuName”).trim();我必须将dat向量转换为字符串吗?
jTable1.setModel(new DefaultTableModel(col,dat));