晕阿,实在没什么话好说了,这样也行,
我是eclipse3.0.1,
Access在NTFS分区上,安全权限是everyone-fullcontrol,共享权限everyone-fullcontrol
连接代码是这样的:
System.out.println("Start......");
// mSmg.save("100001","aaa");

String sqlInsert ="insert into tbl_rcvmbl(mobile,info,datet) select mobile,info,#2005-5-25# from tbl_rcvmbl";
int sqlResult = 0 ;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url ="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; DBQ=D:/我的项目/昆山供电局/短消息/Kunshan/SMsystem.mdb";
Connection conn = DriverManager.getConnection(url,"","");
System.out.println("已找到数据库。");
Statement stmtNew =conn.createStatement();
System.out.println("已建立数据库连接");
sqlResult=stmtNew.executeUpdate(sqlInsert);
System.out.println("Sql result is:"+ sqlResult);
stmtNew.close();
System.out.println("已关闭数据库连接");

}
catch (SQLException e1)
{
System.out.println(e1.getMessage());
}
catch (Exception e2)
{
System.out.println(e2.getMessage());
}

System.out.println("over.");执行的结果是:
Start......
已找到数据库。
已建立数据库连接
Sql result is:6
已关闭数据库连接
over.现在数据库里有6条记录,这个没错,但是插入了6条记录后,数据库没反应,再次运行的话,执行结果也没有变。大家帮我看看吧,

解决方案 »

  1.   

    sqlResult=stmtNew.executeUpdate(sqlInsert);这个方法有问题呢
    用execute(String sql)
      

  2.   

    总算使用正常的结果了,execute执行的结果是false。
    有什么方法可以查看false的原因么?
      

  3.   

    String sqlInsert ="insert into tbl_rcvmbl(mobile,info,datet) select mobile,info,#2005-5-25# from tbl_rcvmbl";
    很有可能是,#2005-5-25#的问题
    你只插入前两项试试
      

  4.   

    我也是有这样的问题.请大家帮我看一下.
    ...
    try
    {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    }
    catch(ClassNotFoundException e){}
      String sql="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=games.mdb";
    Connection con = DriverManager.getConnection(sql,"","");
    Statement stmtNew=con.createStatement() ;
      .
                                  ....
    {
    String name = loginobj.username;
    String password = loginobj.userpassword;
    String sex1 = loginobj.usersex;
    String age = loginobj.userage;
    String email=loginobj.usermail;
    String oicq = loginobj.useroicq;
    String sqlinster="INSERT INTO users(name,password,sex,age,E-mail,OICQ) VALUES(name,password,sex1,age,email,oicq)";
    boolean sqlresult;
    sqlresult=stmtNew.execute(sqlinster);
       toclient.println("恭喜你,你已经注册成功,你可以登陆游戏室了!");

    }

    con.close();
      

  5.   

    前面加
    con.setAutoCommit(false)sqlresult=stmtNew.execute(sqlinster);
    后加con.commit();
      

  6.   

    SQL语法不一样吗?
    access中用:insert into databaseName(field..) select field...;
    sqlserver中都用:insert into databaseName(field..) values (value...);
    还没学过呢,不过在做sqlserver中是没遇到过问题!
    本人最喜欢别人的问题,有一般问题可以问我的:188231055;[email protected]
      

  7.   

    to: Theface(网络白客)
    insert into ....select ....from... 是批量插入
    insert into ....values... 是插入一条记录
    他们的sql是一样的
      

  8.   

    String sqlinster="INSERT INTO users(name,password,sex,age,E-mail,OICQ) VALUES(name,password,sex1,age,email,oicq)";
    这个是否有问题,为什么运行说是insert into语句的语法错误. 我用的是acess数据库插入.
      

  9.   

    String sqlinster="insert into users select name,password,sex1,age,email,oicq from users";
    boolean sqlresult;
    sqlresult=stmtNew.execute(sqlinster);
    我的程序改成这样了.可运行后的异常是:[Microsoft][ODBC Microsoft Access Driver]参数不足,期待是2.
    哪位给点意见!多谢了.
      

  10.   

    insert into users(name,password,sex1,age,email,oicq ) select name,password,sex1,age,email,oicq from users
    最好是全
      

  11.   

    这样的话,运行后的异常::[Microsoft][ODBC Microsoft Access Driver]insert into语句的语法错误
    所以被搞晕了.
      

  12.   

    郁闷~!!只能说郁闷!!
    有抄了一个函数
    public static void getResult() {
    Connection con = null;
    Statement stmt = null;
        try {
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          //注意URL的写法
          String url =
              "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\我的项目\\昆山供电局\\短消息\\Kunshan\\SMsystem.mdb";
          con = DriverManager.getConnection(url, "", "");
          stmt = con.createStatement();
          String query = "insert into tbl_rcvmbl(mobile,info,datet) values('0011','ssss',#2005-5-20#)";
          stmt.execute(query);
          ResultSet rs = stmt.executeQuery("select * from tbl_rcvmbl");
          while (rs.next()) {
            String str = rs.getString("mobile");
            System.out.println(str);
          }
         rs.close();
        }  
        catch (Exception e) {
          e.printStackTrace();
        }
        finally {
          if (stmt != null) {
            try {
              stmt.close();
            }
            catch(Exception e) {         }
          }
          if (con != null) {
            try {
              con.close();
            }
            catch(Exception e) {         }
          }     }
      }结果就有反应了,包括原先的程序,虽然显示没变,还是false,可是数据库中记录插进去了,
    这难道就是rpwt?
      

  13.   

    String sqlinster="INSERT INTO users(name,password,sex,age,E-mail,OICQ) VALUES(name,password,sex1,age,email,oicq)";改为 String sqlinster="INSERT INTO users(name,password,sex,age,E-mail,OICQ) VALUES('"+name+"','"+password+"','"+sex1+"',"+age+",'"+email+"','"+oicq+"')";
      

  14.   

    其实这个也是个问题!
    就是要一个单引号把值包含着,我在SQL企业管理器中操作的时候就看到了插入的时候是必须这样做的,要不也会提示错误!