使用jdbc将数据从Java插入Access

时间:2013-12-12 20:02:50

标签: java sql jdbc

这是我在这个伟大网站的第一个问题:D

我有一个访问数据库。在这个数据库中,有一个表格,列中有4个团队。 这些球队有积分,我想整理前两个得分最多的球队。 最后将这两个团队插入另一个表中。

我可以毫无问题地获取这两个团队。 但是,如果我尝试将它们插入另一个表,它会显示一个错误: “java.sql.SQLException:无效的光标类型:1003”

public void Viertelfinale()
    {
        final String [] temp = new String[20];

        int i=0;

        try {
            st = con.createStatement();
            String sql = "SELECT * FROM tbl_Spielplan ORDER BY A_Punkte DESC";
            rs = st.executeQuery(sql);

            while (rs.next()){
                temp[i] = rs.getString("A_Teams");
                i++;
            }

            rs.close();
            st.close();
            int j=0;
            st = con.createStatement();
            String sql1 = "SELECT * FROM tbl_Viertelfinale";
            rs = st.executeQuery(sql1);

            rs.next();
            rs.moveToInsertRow();
            rs.updateString("A_Teams", temp[0]);
            rs.insertRow();

            rs.next();
            rs.moveToInsertRow();
            rs.updateString("A_Teams", temp[1]);
            rs.insertRow();


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

对不起我的英文:/

错误:

java.sql.SQLException: Invalid Cursor Type: 1003
    at sun.jdbc.odbc.JdbcOdbcResultSet.moveToInsertRow(JdbcOdbcResultSet.java:4306)
    at Turnier.Schultunier.Viertelfinale(Schultunier.java:49)
    at Turnier.Viertelfinale.<init>(Viertelfinale.java:94)
    at Turnier.Viertelfinale$1.run(Viertelfinale.java:35)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

1 个答案:

答案 0 :(得分:1)

我很确定Access不支持SELECT FOR UPDATE,这似乎是您尝试使用的内容。相反,只需使用普通UPDATE语句(除了SELECT查询)。