大虾,帮忙看看一下update语句有没有出错???谢谢!!!!!!!!!try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e) { }
Connection con=DriverManager.getConnection("jdbc:odbc:tushu");
Statement sql=con.createStatement(); //创建Statement对象
ResultSet rs=sql.executeQuery("update 图书 set mc='"+mc+"',"+"lb='"+lb+"',"+"sl='"+sl+"',"+"dj='"+dj+"',"+"je='"+je+"',"+"sj='"+sj+"' where bh='"+bh+"'"); 
}

解决方案 »

  1.   


    你用户名和密码不要放到连接里面取得吗。
    DriverManager.getConnection("jdbc:odbc:tushu"); 
      

  2.   

    不管有没有用户名都要写上啊,access数据库直连用ODBC标准写法Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
    String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");
    Connection conn = DriverManager.getConnection(url,"","");
    Statement stmtNew=conn.createStatement() ;你的语句中也有问题,图书两个字要用'图书'这样的,引起来,否则可能乱码,还有,连接2个字段不要用+ResultSet rs=sql.executeQuery("update '图书' set mc='"+mc+ "',lb='"+lb+ "',sl='"+sl+ "',dj='"+dj+ "',je='"+je+ "',sj='"+sj+"' where bh='"+bh+"'");  
      

  3.   

    你的字符串拼错了吧,看得不是很清楚。你可以先写好列名然后在加加号和双引号,这样容易分清一点,你还可以用那个preparedStatement接口,这个比那个Statement效率高一点。
      

  4.   

    为什么不直接把SQL句子放到 控制台中去试呢
      

  5.   

    有点小问题:Update 怎么会用ResultSet rs=sql.executeQuery呢???
    不是用int rs=sql.executeUpdate()的吗???