执行查询后,值不会导入Access

时间:2012-07-17 06:50:36

标签: java ms-access

我正在尝试将值插入Ms access数据库。该表有4个字段,没有主键,4个字段是数字类型。当我尝试使用预准备语句执行以下java代码时:

DatabaseConnection dbcon=new DatabaseConnection();

Connection con=dbcon.dbconnection();
String query="INSERT INTO test2 VALUES(?,?,?,?)";
PreparedStatement ps= con.prepareStatement(query);
ps.setInt(1, 1);
ps.setInt(2, 2);
ps.setInt(3, 3);
ps.setInt(4, 4);
ps.executeUpdate();

查询已成功执行,但table2未显示值。

2 个答案:

答案 0 :(得分:4)

Connection没有任何问题。 我没有关闭ResultSet和Connection对象,这就是问题出现的原因。

答案 1 :(得分:1)

检查您的数据库连接,

    String dataSourceName = "mdbTEST";
    String dbURL = "jdbc:odbc:" + dataSourceName;
    try { 
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
         Connection con = DriverManager.getConnection(dbURL, "",""); 
   } catch (Exception err) {
        System.out.println( "Error: " + err );
   }

如果连接不正常,您可以在系统上设置数据源名称。请尝试以下步骤。

  1. 在Windows中,选择开始>设置>控制面板>管理工具>数据来源。
  2. 在“ODBC数据源管理器”对话框中,单击“系统DSN”选项卡。
  3. 单击“添加”以将新DSN添加到列表中。
  4. 向下滚动并选择Microsoft Access(.MDB)驱动程序
  5. 为数据源名称键入名称“mdbTEST”(无引号,但保留相同的内容)
  6. 单击“创建”并选择要将数据库保存到的文件(我选择“D:\ java \ mdbTEST.mdb”) - 这将创建一个新的空白MS Access数据库! 点击“确定”一直到现在我们的数据源已经完成!