首页 新闻 会员 周边

jdbc发送查询语句时出错

0
悬赏园豆:5 [已解决问题] 解决于 2016-10-27 20:07

具体情况:
     conn = com.dao.DBUtils.getConnection();
     String sql = "select 姓名,性别,身份证,联系电话,客户信息表.客户编号,入住时间,客房编号,预定时间,押金 from 客户信息表,客房入住表 where 客户信息表.客户编号=客房入住表.客户编号 and 客户信息表.客户编号 ='100011' and 身份证 ='513723201601019874'";
     pst = conn.prepareStatement(sql);
     rs = pst.executeQuery();

错误类型:

com.microsoft.sqlserver.jdbc.SQLServerException: “.”附近有语法错误。
 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
 at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1522)

补充:

在sql server 中执行下面语句是没问题的。

select 姓名,性别,身份证,联系电话,客户信息表.客户编号,入住时间,客房编号,预定时间,押金 from 客户信息表,客房入住表 where 客户信息表.客户编号=客房入住表.客户编号 and 客户信息表.客户编号 ='100011' and 身份证 ='513723201601019874'

 

问:

这是怎么回事?难道jdbc中不支持多表联结查询?求解决方法,谢谢!

衿沫青冥的主页 衿沫青冥 | 初学一级 | 园豆:187
提问于:2016-05-22 17:07
< >
分享
最佳答案
0

jdbc肯定支持,错误看不出来,你试试把查询的列的客户信息表.客户编号去掉试试

收获园豆:5
小光 | 小虾三级 |园豆:1766 | 2016-05-23 09:47
其他回答(3)
0

String sql = "select 姓名,性别,身份证,联系电话,客户信息表.客户编号,入住时间,客房编号,预定时间,押金 from 客户信息表,客房入住表 where 客户信息表.客户编号 = 客房入住表.客户编号 and 客户信息表.客户编号 ='100011'  and 身份证 = '513723201601019874'";

这样改就没问题了。但是,为什么啊?我没发现哪里不同啊!郁闷、、、

衿沫青冥 | 园豆:187 (初学一级) | 2016-05-22 17:58

你写这么多,到底是哪个  .   附近有问题啊,sql语句这么长  还都是汉语  都给我看晕了,你后面改什么了,说清楚一些我给你看看。

支持(0) 反对(0) WilliamJing | 园豆:209 (菜鸟二级) | 2016-05-23 23:44
0

客户信息表.客户编号=客房入住表.客户编号 

客户信息表.客户编号 = 客房入住表.客户编号

 =   你的等号  中间加了  空格

黑猫的黑猫黑猫 | 园豆:325 (菜鸟二级) | 2016-05-24 10:51
0

虽然大家都是中国人,但是代码里注释以外的东西用中文真的很难受

微服务专家 | 园豆:272 (菜鸟二级) | 2016-06-24 16:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册