ResultSet rs=stmt.executeQuery("select count(*) form form1 where name='"+age[i]+"'");
我想查询不同年龄人的个数,要是直接在sql语句中写出具体年龄将会有很多条ResultSet语句,而每个ResultSet都要给它取一个不同的名字,否则就会报错,这要是在年龄个数未知的情况下就更难以实现。
我设想用一个字符串数组来作为ResultSet的名字:
String[] rs_name=new String[i] //i为事先查出的不同的年龄的个数
for(int j=0;j<i;j++){
ResultSet rs_name[j]=stmt.executeQuery("select count(*) form form1 where name='"+age[j]+"'");
}
结果总是报错:rs_name[i]处少一个],不知道我这种方法是否可行,如果可行的话具体语句怎么写呢?如果不可行,那要怎样实现我所描述的功能呢?
请各位高手不吝赐教!感激不尽!
我想查询不同年龄人的个数,要是直接在sql语句中写出具体年龄将会有很多条ResultSet语句,而每个ResultSet都要给它取一个不同的名字,否则就会报错,这要是在年龄个数未知的情况下就更难以实现。
我设想用一个字符串数组来作为ResultSet的名字:
String[] rs_name=new String[i] //i为事先查出的不同的年龄的个数
for(int j=0;j<i;j++){
ResultSet rs_name[j]=stmt.executeQuery("select count(*) form form1 where name='"+age[j]+"'");
}
结果总是报错:rs_name[i]处少一个],不知道我这种方法是否可行,如果可行的话具体语句怎么写呢?如果不可行,那要怎样实现我所描述的功能呢?
请各位高手不吝赐教!感激不尽!
ResultSet rs_name[j]=stmt.executeQuery("select count(*) form form1 where name='"+age[j]+"'");
}
放到try...catch(){}里试一下.
-------------------------------
ResultSet[] rs_name=new ResultSet[i];
回:zengcity 试一下你的方法,好用分都给你了 呵呵
select name, count(*) form form1 group by name order by name
比如说:20,20,20,21,21
查询结果是3,2
怎么能知道哪个是三个,哪个是两个呢
前提是我们并不知道各个年龄在表中的顺序
对于ResultSet[]类型的数据rs:
rs[0].getString();
为什么总是报jdbc错说 Object has been closed.
那位高手指点一下