A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 掉了一地.. 中级黑马   /  2014-12-24 22:49  /  3017 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

5黑马币
问题描述:有两个表,Candidate(id name age gender job account password); Job(id jobName clazz);
其中,Candidate表中job为外键,job中id为主键。

问:在根据account和password作为参数,查询Candidate表时,rs怎么获取结果集?
,又应该怎么获取Job的值?是获取对象的值,还是直接获取主键值?
                                    ...............
              candidateInfo.setName(rs.getString("name"));
              candidateInfo.setGender(rs.getString("gender"));
              candidateInfo.setJobId(job);//报错,我需要再建立一个方法查询出job对象吗?但目前只有account和password两个参数。。
                                    ..............

求大神指点,黑马币不多,不要嫌我抠门。。。

最佳答案

查看完整内容

你还想要job的数据,仅仅就是个联合查询而已。 修改sql语句 String sql = “select c.id,c.name,c.age,c.gender,c.job,c.account,c.password, j.id, j.jobName,j.class from candidate c,job j where c.job = j.id and c.account=? and c.password=?"从结果中即可取出,给分不谢。

3 个回复

倒序浏览
本帖最后由 yuanlingqi 于 2014-12-26 21:44 编辑
yuanlingqi 发表于 2014-12-26 21:39
看来你是用jdbc来做查询。使用jdbc做查询步骤:
1.新建一个连接
2.构造一个查询语句

你还想要job的数据,仅仅就是个联合查询而已。
修改sql语句
String sql = “select c.id,c.name,c.age,c.gender,c.job,c.account,c.password, j.id, j.jobName,j.class from candidate c,job j where c.job = j.id and c.account=? and c.password=?"从结果中即可取出,给分不谢。
回复 使用道具 举报
本帖最后由 yuanlingqi 于 2014-12-26 21:43 编辑

看来你是用jdbc来做查询。使用jdbc做查询步骤:
1.新建一个连接
2.构造一个查询语句
3.执行语句,返回结果
你的要求:
Connection con = new Connection();
String sql = “select id,name,age,gender,job,account,password from candidate c where c.account=? and c.password=?"
PreparedStatement ps = con.preparedment(sql);
ps.set(1,acount); ps.set(2,password);
ResultSet rs = ps.excuteQuery():
然后遍历rs就可以取出你的结果。你想取出什么数据取决于你的查询语句里写的什么字段,而不是凭空出来的。
上面代码我随意敲的,你到编辑器里按思路改改即可。

回复 使用道具 举报
yuanlingqi 发表于 2014-12-26 21:42
你还想要job的数据,仅仅就是个联合查询而已。
修改sql语句
String sql = “select c.id,c.name,c.age,c.g ...

谢了我已经修改好了,你的也可以执行。已经搞定......
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马