JDBC,关于查询结果怎么接收,多条查询结果怎么接收?例子优先

Stringsql="selectcount(*)fromuserwhere用户名='"+name+"';";ResultSetrs=null;intn=0;try{rs... String sql="select count(*) from user where 用户名='"+name+"';";
ResultSet rs = null;
int n=0;
try{
rs=conMysql.executeQuery(sql);
if(rs.next()){
n=rs.getInt(1);
}

}catch(SQLException e){
e.printStackTrace();
}

finally{
conMysql.closeStmt();
conMysql.closeConn();
}
如上,我知道倘若我查询的是name,那么我会用
String str=null;
然后str=rs.getstring("name");

但是当我查询了很多信息时呢?
或者我只查询一条,但是有多个结果的?

重点讲讲rs.getXXX();
有例子加分!谢了!
展开
 我来答
总该有办法吧
推荐于2016-06-22 · TA获得超过227个赞
知道小有建树答主
回答量:222
采纳率:93%
帮助的人:146万
展开全部
把if(rs.next())改成while(rs.next());然后把结果放到List中
rs=conMysql.executeQuery(sql);
List list=new ArrayList();
while(rs.next()){
n=rs.getInt(1);
list.add(new Integer(n));
}
追问
你的n=rs.getInt();里面的1是干什么?有哪些含义?可否写成其他数字?
追答
getInt(1)中的1表示字段的序号,1表示第一个字段,getInt表示取出整型值,还可以2、3...你查询的字段数量,从1开始计数。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
samplezuo
2014-07-23 · TA获得超过320个赞
知道小有建树答主
回答量:452
采纳率:100%
帮助的人:255万
展开全部
你是不是想说如果查询返回的是多列数据 你咋办 是一个一个写还是怎么搞?
是这个意思?
追问
方便的话你可以举例,倘若我查询表里面一个人的每一条数据(no,name,age,sex,work)[no,age为int],得到的结果怎么接收?
倘若我查询多个人的这些数据,怎么接收?

有空的话,举例吧,谢谢了
追答
多个人的你采纳的那个答案已经解决了,不过如果你针对每个查询都要去这么段获取的代码
例如rs.getInt('no') 之类的 你有没有觉得挺烦的
推荐你看下rs.getMetaData这个东西
从这里你可以获取结果集的元数据,例如一共有多少列 ,列名是什么
然后你就可以....呵呵 再说就没意思了哦

如果你接触过mybatis 或者hibernate之类的持久层框架,你就可以想象一下人家是怎么实现的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式