为什么list<QueryObject>  Set时候M-001375-GW* 后面带*的都Set不进去
假如没有带*一切都正常这是为什么?
List<QueryObject> list = new ArrayList<QueryObject>();
obj.setLh(rs.getString("s_name"));
obj.setPm(rs.getString("s_cont"));
obj.setGg(rs.getString("s_value"));
list.add(obj);出现这样的异常
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]对于造型说明无效的字符值

解决方案 »

  1.   

    java.sql.SQLException,从报错信息来看,应该是数据库执行的SQL有错误。
      

  2.   

    可能因为 * 是SQL关键字。
      

  3.   

    这跟List有什么关系?你往List里加的是QueryObject类型,又不是String里的特殊字符,是你后来往数据库里插入的时候数据库不支持吧
      

  4.   

    SQL  语法错误, * 破坏了 SQL 的结构,导致语法错误。我想应该将 * 好转义,因为他是DB的特殊字符。
      

  5.   

    java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]对于造型说明无效的字符值跟LIST没有关系,请检查SQL语句执行时的状态。
      

  6.   

    我把打印的sql语句去查询分析器里执行完全OK
      

  7.   

    List<String> list = new ArrayList<String>();
    list.add("aa****");
    System.out.println(list.get(0));错误不在于LIst  而是数据库操作上面。狂晕
      

  8.   


    数据库应该没一点问题
      打印的SQL在查询分析器里面查没一点问题
      

  9.   

    现在可以确定是*在作怪
    第一条语句没的第一个字段没*可以查
    第二条有第一个字段有*出错 只要有*的的SQl语句都查不出但Sql查询分析器里面查没问题select * from hwcktb2 where lb = + '其他'order by indateselect * from hwcktb2 where lb = + '自開模具'order by indate
    怎么在Set时候转义呢?obj.setLh(rs.getString("s_name"));
    星号的转义:* ==> u002A