这个异常是啥意思?java.sql.SQLException: General error , in Java with Access DB?
Posted
技术标签:
【中文标题】这个异常是啥意思?java.sql.SQLException: General error , in Java with Access DB?【英文标题】:what does this Exception mean ??java.sql.SQLException: General error , in Java with Access DB?这个异常是什么意思?java.sql.SQLException: General error , in Java with Access DB? 【发布时间】:2011-12-14 17:46:44 【问题描述】:我正在尝试将数据插入存储在我计算机上的 Access 数据库中, 但是当我运行以下代码时会出现异常
这是个例外:
2011 年 12 月 14 日晚上 7:22:21 Ass3_lab.afterLogin$8 actionPerformed 严重:无 java.sql.SQLException:一般错误 在 sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6986) 在 sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114) 在 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);
);
有人可以帮我解决这个问题吗?
【问题讨论】:
假设它的作业我相应地标记了它...... 您正在关闭连接和语句两次,请尝试从“尝试”中删除并查看。另见this question - 您可能也需要提交连接。 @mprabhat,是的,谢谢:) @aishwarya,谢谢你的链接,我去看看 【参考方案1】:GeneralError 具有很大的误导性。发生这种情况的原因有多种:
-
用户名、密码不正确。
Java 和 ODBC 驱动程序的位数差异(检查 java 和您的 odbc 驱动程序是 32 还是 64)
非常烦人,但重新创建 DSN 有效(不知道为什么,但有时确实如此)。
【讨论】:
在哪里可以检查我的 java 和 ODBC 驱动程序的位数?? java -version 将为您提供版本以及您的 jdk 位,odbc 驱动程序将取决于您的机器,因此如果您的机器是 32 位,您的 odbc 驱动程序将是 32 位或 64 位。 我不知道,看来我的问题是因为你谈到的最后一个原因。无论如何谢谢你以上是关于这个异常是啥意思?java.sql.SQLException: General error , in Java with Access DB?的主要内容,如果未能解决你的问题,请参考以下文章
线程“主”java.sql.SQLException 中的异常:索引处缺少 IN 或 OUT 参数:: 25 这个错误是啥意思
Django TemplateSyntaxError: current transaction is aborted,这个异常是啥意思? postgresql 8.4 可以与 django 一起正常工