Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这个异常是什么意思??java.sql.SQLException:General error,在带有Access DB的java中?_Java_Ms Access - Fatal编程技术网

这个异常是什么意思??java.sql.SQLException:General error,在带有Access DB的java中?

这个异常是什么意思??java.sql.SQLException:General error,在带有Access DB的java中?,java,ms-access,Java,Ms Access,我正在尝试将数据插入存储在我计算机上的Access数据库, 但是当我运行下面的代码时,会出现一个异常 这是一个例外: 2011年12月14日下午7:22:21助理实验室登录后执行$8操作 严重:空 java.sql.SQLException:一般错误 位于sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6986) 位于sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114) 位

我正在尝试将数据插入存储在我计算机上的Access数据库, 但是当我运行下面的代码时,会出现一个异常

这是一个例外:

2011年12月14日下午7:22:21助理实验室登录后执行$8操作 严重:空 java.sql.SQLException:一般错误 位于sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6986) 位于sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114) 位于sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(jdbodbc.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) {
            }
        }
    }
}
我在action Listener中调用了如下方法:

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);
        }
    }
});
save.addActionListener(新ActionListener(){
已执行的公共无效操作(操作事件e){
试一试{
Login l=新登录名();

对于(int t=0;tGeneralError,一般错误具有误导性。发生这种情况的原因有多种:

  • 用户名、密码不正确
  • Java和ODBC驱动程序的位差异(检查Java和ODBC驱动程序是32还是64)
  • 非常烦人,但重新创建DSN是可行的(不知道为什么,但有时确实如此)

  • 假设它的作业是我相应地标记的……您要关闭连接和语句两次,请尝试从“try”中删除并查看。还要查看-您可能还需要提交连接。@mprabhat,是的,谢谢:)@aishwarya,谢谢你的链接,我会查出来的我能查一下我的java和ODBC驱动程序的位吗?java-version会给你版本和jdk的位,ODBC驱动程序将取决于你的机器,所以如果你的机器是32位,你的ODBC驱动程序将是32位或者64位。我不知道,似乎我的问题是因为这是你谈论的原因。无论如何,谢谢你