这个程序太灵异了 谁能指点一下啊? 就是说sql语句在MYSQL客户端下面能查询到结果,而在本程序中 执行到while(rs.next())就不往下执行了 后面的程序都不执行了 也查询不出结果 不知道什么原因??高手解决一下 万分感谢!!!
//连接数据库
       try {
           Class.forName("com.mysql.jdbc.Driver");
       } catch (ClassNotFoundException e1) {
           throw new ExceptionInInitializerError(e1);
       }
       // 查询
        Connection conn = null;
        Statement st = null;
         ResultSet rs = null;
         ResultSet rs2 = null;
         String sql = "select TableName_Eng from tablenameengtochi where TableName_Chi = '馆藏图书信息表';
         try {
             String tableName = "" ;
             conn = JdbcUtils.getConnection();
             st = conn.createStatement(); 
             rs = st.executeQuery(sql);
             while (rs.next()) {
                 tableName = rs.getString("TableName_Eng");
                System.out.println("TableName:"+tableName);
            }

             } catch (SQLException ex) {
           } finally
             {  JdbcUtils.free(rs, st, conn);}//操作数据库完毕

解决方案 »

  1.   

    这个程序太灵异了 谁能指点一下啊? 就是说sql语句在MYSQL客户端下面能查询到结果,而在本程序中 执行到while(rs.next()) 查询不出结果 不知道什么原因??高手解决一下 万分感谢!!!
    //连接数据库
      try {
      Class.forName("com.mysql.jdbc.Driver");
      } catch (ClassNotFoundException e1) {
      throw new ExceptionInInitializerError(e1);
      }
      // 查询
      Connection conn = null;
      Statement st = null;
      ResultSet rs = null;
      ResultSet rs2 = null;
      String sql = "select TableName_Eng from tablenameengtochi where TableName_Chi = '馆藏图书信息表';
      try {
      String tableName = "" ;
      conn = JdbcUtils.getConnection();
      st = conn.createStatement();   
      rs = st.executeQuery(sql);
      while (rs.next()) {
    tableName = rs.getString("TableName_Eng");
    System.out.println("TableName:"+tableName);
    }
      } catch (SQLException ex) {
      } finally
      { JdbcUtils.free(rs, st, conn);}//操作数据库完毕
      

  2.   

    看一下MYSQL的错误日志,或者通过查询日志。
      

  3.   


    你在程序里用的是什么字符集啊?帖出你的连接串看看,用没有用set names ...的初始连接字符集?
    还有,你的数据库用的是什么字符集?
    请你在命令行下执行show parameters like 'char%'看看它的结果。