我寫代碼,以從表中檢索兩列,並將其存儲在另一個table.i正在使用MS接入作爲數據庫。 代碼如下如何從一個表中提取數據,並插入到另一個表
public void connectDb(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:harish","scott","tiger");
Statement st= con.createStatement();
ResultSet rs=st.executeQuery("select sev,al from pgw_alarm where sev='000'");
while(!rs.next())
{
String sev= rs.getString("sev");
String al= rs.getString("al");
st.executeUpdate("insert into info_alarm values('"+sev+"','"+al+"')");
}
}catch(Exception e){e.printStackTrace();
System.out.println("some error");}
}
以下堆棧跟蹤
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid cursor state
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3907)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5698)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:354)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:411)
請幫我解決這個問題.....
不知道這是錯誤,反正儘量放一個「;」在查詢字符串的末尾 – Heisenbug 2011-04-19 08:39:26
您顯示的堆棧跟蹤中包含行號。如果你可以告訴我們,而上面的代碼行是拋出異常的行,這將是非常有幫助的。 – 2011-04-19 08:51:29