【问题标题】:java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable queryjava.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 操作必须使用可更新查询
【发布时间】:2013-12-11 06:36:33
【问题描述】:
SEVERE: null

java.sql.SQLException: [Microsoft][ODBC Microsoft Access 驱动程序] 操作必须使用可更新的查询。在 sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6956) 在 sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7113) 在 sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3109) 在 sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:337) 在 sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:287)

 public Student_Registration() {
    super("");
    initComponents();

    try {
        //DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        con = DriverManager.getConnection("jdbc:odbc:student");
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Check connectivity with database", "Error", 3);
    }


}

//向Db插入数据

 String insertinfo = "insert into student_info(name,dob,address,ten,twelve,sex,mail,mobile) values('" + txt_name.getText().toString() + "', '" + txt_dob.getText().toString() + "', '" + txt_add.getText().toString() + "', '" + txt_10.getText().toString() + "','" + txt_12.getText().toString() + "','" + cb_sex.getSelectedItem().toString() + "','" + txt_mail.getText().toString() + "','" + txt_mobile.getText().toString() + "')";


    try {
        Statement ist = con.createStatement();
        ist.executeUpdate(insertinfo);
    } catch (SQLException ex) {

        Logger.getLogger(Student_Registration.class.getName()).log(Level.SEVERE, null, ex);

        System.out.printf("" + insertinfo);
    }

【问题讨论】:

    标签: java jdbc odbc


    【解决方案1】:

    看起来这只是 ODBC 数据源发生的文件权限问题。

    MS 说;

    如果您尝试编辑已保存的工作表或 以只读方式打开。

    注意:ReadOnly 是 ODBC 连接到 Excel 的默认设置,有或没有数据源名称 (DSN)。因此,用户必须始终更改该设置以编辑数据。

    http://support.microsoft.com/kb/316475

    您可以在 db 文件和 DSN 设置中检查只读属性。

    要解决此问题,请使用以下方法:

    • 确保 Recordset 对象的 LockType 属性不是 设置为只读。
    • 确保您尝试打开的文件
    • 如果您通过 DSN 进行连接,请按照以下步骤操作:

      • 打开控制面板,然后单击 ODBC 数据源管理器。
      • 双击您的 DSN。
      • 在 ODBC Microsoft Excel 设置对话框中,单击选项。
      • 确保未选中只读复选框。

    【讨论】:

      猜你喜欢
      • 2010-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 2010-10-03
      • 2014-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多