日期:2014-05-20  浏览次数:20806 次

急求高手教教
下面是大概代码
  String sql1="select count(*) from organization where parent_id like '%"+id+"%'";
  Query qs=session.createSQLQuery(sqls);
  qs=session.createSQLQuery(sql1);
  list1=qs.list();
我是想得到count的值。该怎么写?????求指教

------解决方案--------------------
看了下,不晓得lz的意思是不是要得到总记录数:
其实你都得到list集合了。。判断下就ok了。。
int count = 0 ;
if(list.size()>0 && list !=null){
count = list.size();
}
return count;

希望对lz有帮助....


------解决方案--------------------
用的是hibernate?
那你查询方式都有问题 用qs接受2次值 到底是接受的什么,
Query qs=session.createSQLQuery(sqls);
qs=session.createSQLQuery(sql1);

sqls和sql1分别是什么,为什么要Query 2次呢


jdbc
 pstmt_select = conn.prepareStatement(selectSQL);
rs = pstmt_select.executeQuery();
while(rs.next()){
row = rs.getInt(1);
}

即可
------解决方案--------------------
先不管你的查询怎么写的 如果想要得到聚合函数的结果有2种方式 一种是在实体类种配置,第二种就是用object接收


// 返回结果
List all = query.list();
if (all != null && all.size>0) {
// 如果包含查询结果,则取得返回数据,数据按照Object数组形式返回
Object[] obj = (Object[])all.get(0);
// 打印返回结果
System.out.println("count = " + obj[0]);
}
------解决方案--------------------
不知道你list1的结构,
反正在检索结果的第0行第1列,
debug一下就知道怎么取了。