当前位置:编程学习 > JAVA >>

今天遇到一个超级奇怪的问题,java Spring jdbc查询oracle数据库问题,急!

参加OSC应用开发大赛,拿Nexus 4手机 活动详情
语句如上,问题是这条语句查询没错,但是最后的列表输出大小为0,但是我把输出的sql直接复制到toad去执行可以查询出来东西,当我把user_id换成其他字段的时候去查询,这个列表又不为空了。

很郁闷,这与字段有什么关系吗,为什么到数据库可以执行,到这就不出来东西,where里把user_id换成其他字段去查询又能查出来,蛋疼了,郁闷了,求大神帮助。



String id = "'jdh2005_1','zhiyu106'";  

String sql = "SELECT R.TBL_URN, R.USER_ID, R.SCREEN_NAME,R.GENDER, R.CNT_FOLLOWERS,R.CNT_FRIENDS R FROM ND_RAW.RAW_WM_FORUM_AQ_USERINFO  WHERE R.USER_ID IN ("+id+");

        System.out.println(sql);

        List<RawWMForumAqUserinfo> searchList = jdbcTemplate.query(sql,new RawWMForumAqUserinfoMapper());

System.out.println( searchList.size());


--------------------编程问答-------------------- 看下数据库里的USER_ID是不是char型的?如果是的话会出现你说的TOAD能执行 JAVA里搜不到的情况 --------------------编程问答--------------------
引用 楼主 zdh19891225 的回复:
参加OSC应用开发大赛,拿Nexus 4手机 活动详情
语句如上,问题是这条语句查询没错,但是最后的列表输出大小为0,但是我把输出的sql直接复制到toad去执行可以查询出来东西,当我把user_id换成其他字段的时候去查询,这个列表又不为空了。

很郁闷,这与字段有什么关系吗,为什么到数据库可以执行,到这就不出来东西,where里把user_id换成其他字段去查询……


VARCHAR2 (255 Char) 类型,但是换成其他字段也是varchar2,是可以的 --------------------编程问答--------------------
引用 1 楼 ss36290109 的回复:
看下数据库里的USER_ID是不是char型的?如果是的话会出现你说的TOAD能执行 JAVA里搜不到的情况


VARCHAR2 (255 Char) 类型,但是换成其他字段也是varchar2,是可以的 --------------------编程问答-------------------- 我看了你的sql,后面少了一个“"”引号。 --------------------编程问答-------------------- 使用的是prestatment吗 建议换下statment试试 
前者有时候查不到数据的 好像是一个bug 有时hibernate也是查不出来 因为hibernate用的也是前者  --------------------编程问答-------------------- 我和你的有相同情况 但性质还不太一样 我的是有的数据可以查询出来 有的查询不出来 将程序打印的sql
在plsql中就都可以查询出来

帮顶  帮顶 帮顶
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,