我想用字符串和数据库查询出来的值进行比较 却发现数据查询出来的字符串后面会莫名奇妙的带个空格
这是怎么回事?
  while(rs.next())
  {    
          String name2="admin";
          String sql_name=rs.getString("login_name");//取出数据库中的用户姓名(这里只有一个记录就是“admin”)
  out.println(name2+"ss");//这里输出的是adminss
  out.println(sql_name+"ss");//这里输出的却是admin ss
  if(sql_name.equals("name2"))
 {   
          out.print("xxx");//因为无法比较,所以这部无法实现   }
  }
请问怎么解决 先谢谢了

解决方案 »

  1.   

    你打印一下sql_name,如果它是"admin ",你就用sql_name.trim()把它的两边的空格都去掉
    如:System.out.println("======" + " a aaa ".trim()+"===");
    打印出来就是“======a aaa===”
    然后你再比较就OK了哈哈,100分,来吧
      

  2.   

    楼主,login_name这个字段在数据库的长度是多少?
      

  3.   

    while(rs.next()) 
      {    
              String name2="admin"; 
              String sql_name=rs.getString("login_name").trim();//取出数据库中的用户姓名(这里只有一个记录就是“admin”) 
      out.println(name2+"ss");//这里输出的是adminss 
      out.println(sql_name+"ss");//这里输出的却是adminss 
      if(sql_name.equals("name2")) 
    {  
              out.print("xxx");//因为无法比较,所以这部无法实现   } 
      } 
      

  4.   

    trim能解决 请问一下是什么原因造成的 是不是说数据库里面的设置字节长度超过了就会这样的?
      

  5.   

    是不是数据库里用的char型..还是本来插进去的时候就带了一个空格的,只有这两个原因了...
    呵呵
      

  6.   

    是不是数据库里用的char型..还是本来插进去的时候就带了一个空格的,只有这两个原因了...
    呵呵
      

  7.   

    是不是字段设成了char型,如果字段不够长,char会自动补上空格。还有会不是你保存在数据库里就是admin 多打了个空格?
      

  8.   

    是Oracle的話,charz的字段是自動補空格的
      

  9.   

    查询出来的数据中有个空格是因为数据库里面的字段设置的问题,大小设置的太大了,所以在末尾就会出现一个空格,你可以取数据的时候用 trim()方法将这个空格去掉
      

  10.   

    在数据库里如果你设置的是char类型的,那么如果输入的长度么有达到你的最大长度的话,会以空格补齐。
    你把它设置成varchar的类型,就是你实际输入的长度,是可变的,不会以空格来补齐!
      

  11.   

    如果你是用的是oracle,你设定成char型10位的,但你数据库存了8位,就会自动添2个空格。
      

  12.   

    第一,看是不是你底层数据库设置得类型问题,一般不要设置成char.
    第二,你可以选择用string.trim()去掉空格。我怀疑是数据库设计得问题,呵呵。
      

  13.   

    1.字段过长
    2.字段在转换类型时出现的
    3.插入数据时 插入的
    4.类型
    大概就这几个情况吧
    去掉空格 tirm();