這是我在這個偉大的站點的第一個問題:D將數據從Java插入到使用jdbc的Access中
我有一個訪問數據庫。在這個數據庫中有一個表格,一列有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)
嘗試使用if語句測試後面的'rs.next();'。 –
你是什麼意思? – seriously
PLease添加你得到的整個堆棧跟蹤。同樣指向我們。 – Smit