我写了一段测试读写access数据库文件代码,运行结果:连接成功
执行数据加入操作...
数据加入成功但是不能把数据写入到文件中,也从文件中读不到任何数据。我用access做个了个简单的msg.mdb文件
创建了一个message表,有两个字段 friend(PRIMARY KEY), msg,都是文本的数据类型
谁能帮我解决用Java语言读写*.mdb数据,非常急
谢谢了。
[code=Java]
import java.sql.*;
public class TestAccess {
  private Connection conn;
  private Statement stmt;
  private ResultSet rs;
          private PreparedStatement ps;
  
  public TestAccess() {
  }
  
  public void connectAccessFile() {
              try {
    String surl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=msg.mdb";
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    conn = DriverManager.getConnection(surl,null,null);
    System.out.println("连接成功");
       } catch(Exception e) {
                 e.printStackTrace();
               }
  }         public void addData(String friend,String msg) {
           String sql = "INSERT INTO message(friend,msg) VALUES(?,?)";
           try {
              System.out.println("执行数据加入操作...");
              ps = (PreparedStatement)conn.prepareStatement(sql);
              ps.setString(1,friend);
              ps.setString(2,msg);
              ps.executeUpdate();
              System.out.println("数据加入成功");
           } catch(Exception e) {
             e.printStackTrace();
           }
         }
        
         public void getData() {
            try {
               stmt = (Statement)conn.createStatement();
               rs = (ResultSet) stmt.executeQuery("SELECT * FROM message");
               while(rs.next()) {
System.out.println("执行了");
                 String friend = rs.getString(1);
                 String msg = rs.getString(2);
                 System.out.println(friend);
                 System.out.println(msg);
               }
            } catch(Exception e) {
              e.printStackTrace();
            }
         }
  
    public static void main(String[] args) {
     TestAccess ta = new TestAccess();
     ta.connectAccessFile();
        ta.addData("Mike2","Hello,How are you?");
    }
}[/Java]

解决方案 »

  1.   

    DBQ=msg.mdb ,这个不对吧,应该写物理路径,试试
      

  2.   

    楼主,我在mian方法里调用了一下ta.getData();
    结果如下:D:\>java TestAccess
    连接成功
    执行数据加入操作...
    数据加入成功
    执行了
    Mike2
    Hello,How are you?楼主啊,你发0分的帖子是CSDN的一大忌啊。
    人家都懒得点你帖子了,有不小心点到的一看。哇,这么长的代码,马上就又关了。
      

  3.   

    aaa7782814  先谢谢你
    这几天写项目写得头昏脑胀  因为第二天要交作业,刚学数据库,有点晕  只记得看其他方法写错没 就没检查main方法 
    我第一次上CSDN论坛 还不知道有这么多规矩   我现在可以怎么给你分?