我数据库用到的是“%a%”
我在action中是拼的字符串,怎么取到这个这个样式的值传到数据库;
我在action中是这样写的
String Zhiye=customfriendForm.getZw();
if(Zhiye!=null){
zhiye="and `user_inf`.`zhiye` like  %"+Zhiye+"%";
}
else{
      zhiye=" ";
   }
String sql="`user_friends_info`.`Uid`="+uid+"  "+shengao+" "+sex+" "+wm+" "+jiaoyu+" "+zhiye+" "+photo+" "+tixing+" "+aiqing+" "+canyin+" "+yule+" "+gouwu+" "+chongwu+" ";我打印出来的是zhiye=%a%
我要的是zhiye=“%a%”
怎么做
还有
Zhiye==null是
他显示为zhiye=and `user_inf`.`zhiye` like  %"   "%;
我要的是zhiye=“”;
该怎么做
谢谢

解决方案 »

  1.   


    if(Zhiye!=null){ 
    zhiye="and `user_inf`.`zhiye` like  %\""+Zhiye+"\"%"; 

    else{ 
          zhiye="\"\" "; 
      } 
      

  2.   

    if(Zhiye!=null){ 
    zhiye="and user_inf.zhiye like  '%"+Zhiye+"'%"; 

    else{ 
          zhiye=" "; 
      } 
    还有 
    Zhiye==null是 
    他显示为zhiye=and `user_inf`.`zhiye` like  %"  "%; 看你小字母的zhiye怎么定义的,贴出来
      

  3.   

    问题说不不清楚啊大哥,不知道你是取完数据库得到的结果要那样,还是要拼写成那样的sql语句
      

  4.   

    1.首先 String 是一个类 不能用Zhiye==null 这个是指对象是否为空 如果要判断值是否为空 应该用!Zhiye.equals("")
    2.用java 转意符 "\""就可以了
      

  5.   

    你的意思应该是这样的,不用那么麻烦
    String zhiye = "";
    String Zhiye=customfriendForm.getZw(); 
    if(Zhiye!=null){ 
    zhiye="and `user_inf`.`zhiye` like  %'"+Zhiye+"'%"; 

      

  6.   

    用转义字符就行if(Zhiye!=null){ 
    zhiye="and `user_inf`.`zhiye` like  %\'"+Zhiye+"\'%"; 

    else{ 
          zhiye="\'\' "; 
      } SQL语句应该是单引号不是你说的双引号吧?