日期:2014-05-18  浏览次数:20847 次

Access数据库插入数据问题
给Access数据库插入数据,运行程序后提示:java.sql.SQLException:   [Microsoft][ODBC   Microsoft   Access   Driver]   操作必须使用一个可更新的查询。使用executeUpdate()、executeQuery()、executeBatch()和execute()都不行,不知道怎么回事了。
//代码如下:
import   java.sql.Connection;
import   java.sql.DriverManager;
import   java.sql.PreparedStatement;
import   java.sql.ResultSet;
import   java.sql.SQLException;
import   java.sql.Statement;

public   class   Access   {

/**
  *   @param   args
  */
public   static   void   main(String[]   args)   {
//   TODO   Auto-generated   method   stub
Connection   conn   =   null;
Statement   stmt   =   null;
String   sql   =   "jdbc:odbc:driver={Microsoft   Access   Driver   (*.mdb)};DBQ=E:\\db1.MDB ";
try   {
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver ");
conn   =   DriverManager.getConnection(sql,   "sa ",   " ");
stmt   =   conn.createStatement();
}   catch   (Exception   e)   {
System.out.println(e.getMessage());
}
try   {
  PreparedStatement   pre=conn.prepareStatement( "INSERT   INTO   tBuyBack(品名)   VALUES(?) ");
  pre.setString(1, "手机 ");
  pre.executeUpdate();
  //pre.executeQuery();
  //pre.executeBatch();
  //pre.execute();
stmt.close();
conn.close();
}   catch   (SQLException   e)   {
//   TODO   Auto-generated   catch   block
e.printStackTrace();
}
}
}

------解决方案--------------------
没有可执行的权限

换一个用户吧

或者
在管理器中调整数据库文件的属性,让sa用户有正确的权限。
------解决方案--------------------
happy new year!