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();
有例子加分!谢了! 展开
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();
有例子加分!谢了! 展开
2个回答
展开全部
把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));
}
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开始计数。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是不是想说如果查询返回的是多列数据 你咋办 是一个一个写还是怎么搞?
是这个意思?
是这个意思?
追问
方便的话你可以举例,倘若我查询表里面一个人的每一条数据(no,name,age,sex,work)[no,age为int],得到的结果怎么接收?
倘若我查询多个人的这些数据,怎么接收?
有空的话,举例吧,谢谢了
追答
多个人的你采纳的那个答案已经解决了,不过如果你针对每个查询都要去这么段获取的代码
例如rs.getInt('no') 之类的 你有没有觉得挺烦的
推荐你看下rs.getMetaData这个东西
从这里你可以获取结果集的元数据,例如一共有多少列 ,列名是什么
然后你就可以....呵呵 再说就没意思了哦
如果你接触过mybatis 或者hibernate之类的持久层框架,你就可以想象一下人家是怎么实现的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询