Oracle大师进:JDBC连接Oracle查不到数据

问题情形:两个字段:一个sip_uuid[varchar2(100)],其值为3c7e4339-c45e-4508-bf32-92beb3dd7233;一个req_or_... 问题情形:

两个字段:
一个sip_uuid [varchar2(100)], 其值为3c7e4339-c45e-4508-bf32-92beb3dd7233;
一个 req_or_res [number[4]] 其值为0

我用如下
String sql="select * from msg_in t where req_or_res =0 and sip_uuid='3c7e4339-c45e-4508-bf32-92beb3dd7233'";
preparestamet.executeQuery(sql);
Result 为空!!

单独查这两个字段中任何一个都能查出来,用这个语句在PL/SQL中也能查出来,但是用JDBC时便查不出来!

难道是因为这个req_or_res字段中含有个or???
有没有人遇到这种情况!
展开
 我来答
仙戈雅3n
推荐于2016-03-24 · TA获得超过5789个赞
知道大有可为答主
回答量:2398
采纳率:75%
帮助的人:870万
展开全部
// 尝试把单引号具体的值分隔开来试试。
String sql="select *  from  msg_in t  where  req_or_res =0 and sip_uuid='"+"3c7e4339-c45e-4508-bf32-92beb3dd7233+"'";
preparestamet.executeQuery(sql);

 另外,根据你的描述在PL/SQL上可以正常运行并得到结果,那就说明这条SQL语句是没有问题的。此时你应该检查JAVA语法的问题,或者说写法是否正确。

追问
我确认不是语法问题,因为我把req_or_res换成表内其他字段,就没问题了,唯独是req_or_res这个字段加其他字段就不行了。
追答
有没有尝试过req_or_res这个字段直接在PL/SQL里查询是否有问题?
一次偶然的相撞
2015-07-08 · TA获得超过269个赞
知道小有建树答主
回答量:247
采纳率:100%
帮助的人:80.8万
展开全部
确定:select * from msg_in t where req_or_res =0 and sip_uuid='3c7e4339-c45e-4508-bf32-92beb3dd7233' 能在PL/SQL里面查询到数据

把sql 写成动态的:
public list select(int req_or_res,String sip_uuid){
String sql="select * from msg_in t where req_or_res ="+req_or_res+" and sip_uuid="+sip_uuid+"";
}

public list select(){
int req_or_res=0;
String sip_uuid="3c7e4339-c45e-4508-bf32-92beb3dd7233";
String sql="select * from msg_in t where req_or_res ="+req_or_res+" and sip_uuid="+sip_uuid+"";
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hu_sy
2015-07-08
知道答主
回答量:9
采纳率:0%
帮助的人:2.6万
展开全部
select * from msg_in t where req_or_res =0 and sip_uuid='3c7e4339-c45e-4508-bf32-92beb3dd7233'

把上面的字段名修改成大写的试试

select * from MSG_IN t where REQ_OR_RES=0 and SIP_UUID='3c7e4339-c45e-4508-bf32-92beb3dd7233'
追问
不行。这跟大小写关系不大,我现在就怀疑是req_or_res这个字段有问题。
追答
你这个字段是字符窜类型还是数字类型?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式