这个异常是啥意思?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 这个错误是啥意思

java:try catch是啥意思?

Django插入:这个错误是啥意思

Django TemplateSyntaxError: current transaction is aborted,这个异常是啥意思? postgresql 8.4 可以与 django 一起正常工

异常里的toString是啥意思?

panic\nMemory ID是啥意思