我试图将数据插入到存储在我的电脑, 对Access数据库,但是当我运行此以下代码的异常出现这个异常是什么意思?? java.sql.SQLException:一般错误,在Java中用Access DB?
这是例外:
2011年12月14日7: 22:21 PM Ass3_lab.afterLogin $ 8的actionPerformed 重度:空 值java.sql.SQLException:常规错误 在sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6986) 在sun.jdbc.odbc.JdbcOdbc。 standardError(JdbcOdbc.java:7114) at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java: 3110) 在sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338) 在sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:288)
我写了这个方法,使插入:
public void saveDataInDB(int std_id,int course_id,String semester_no) throws SQLException {
Connection conn=null;
PreparedStatement pstmt=null;
String insertSQL="insert into Registered_course (std_id,course_id,semester_number) values(? , ?,?)";
try{
conn=con.getConnection();
pstmt=conn.prepareStatement(insertSQL);
pstmt.setInt(1,std_id);
pstmt.setInt(2,course_id);
pstmt.setString(3,semester_no);
pstmt.executeUpdate();
pstmt.close();
conn.close();
} // end of try
finally {
if(conn != null){
conn.close();
}
if (pstmt != null) {
try {
pstmt.close();
} catch (Exception ignore) {
}
}
}
}
我打电话的动作监听器内部这样的方法:
save.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
try {
Login l = new Login();
for(int t=0;t<=numberOfRowsInTableOne;t++){
i.saveDataInDB(l.idFromDB,course_id[t],semester_no);
}
} catch (SQLException ex) {
Logger.getLogger(afterLogin.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
有人能帮助我解决这个问题吗?
假设它的功课我相应地标记了它...... – mprabhat 2011-12-14 17:50:34
您正在关闭连接和语句两次,请尝试从“尝试”中删除并查看。也看到[这个问题](http://stackoverflow.com/q/4584951/922954) - 你可能也需要提交连接。 – aishwarya 2011-12-14 18:00:47