如图所示:对结果集的操作主要步骤如下
String sql = "select * from emp";
pstmt = conn.prepareStatement(sql);
//第四步,返会结果集
rs = pstmt.executeQuery();
while (rs.next()) {
int ID = rs.getInt("ID");
String org_code = rs.getString("org_code");
String org_name = rs.getString("org_name ");
String org_count = rs.getString("org_count");
}
这样就能够得到各个字段的值进而对各字段进行操作,这是jdbc提供的处理方法
但如果情况如下使用Hibernate查询返回的List 需要对其用Iterator遍历拆解在放入到实体中
代码如下:
public Pagination queryOrg_InfoCount(int siteId,int areaId ,String orgName, int pageNo, int pageSize) {
ArrayList<Org_Info> org_Info_list = new ArrayList();
Org_Info bmsg=null;
String sql="";
try {
if(areaId!=0)
{
if(orgName!=null)
{
sql="select a.id,a.org_code,a.org_name,(select count(*) from llt_report b where b.send_org_id=a.id) as org_count from llt_org_info a where a.area_code="+ areaId + " and (a.org_name like '"+ orgName+ "' or a.org_code like '"+orgName+"') order by org_count desc";
}
else
{
sql="select a.id,a.org_code,a.org_name,(select count(*) from llt_report b where b.send_org_id=a.id) as org_count from llt_org_info a where a.area_code="+ areaId + " order by org_count desc";
}
}
else
{
sql="select a.id,a.org_code,a.org_name,(select count(*) from llt_report b where b.send_org_id=a.id) as org_count from llt_org_info a order by org_count desc";
}
Query query =getSession().createSQLQuery(sql);
int totalCount = query.list().size();
Pagination p = new Pagination(pageNo, pageSize, totalCount);
query.setFirstResult(p.getFirstResult());
query.setMaxResults(p.getPageSize());
List list =query.list();
Iterator it=list.iterator();
Object [] results;
while(it.hasNext())
{
bmsg = new Org_Info();
results=(Object[]) it.next();
for(int i=0;i<results.length;i++)
{
bmsg.setId(Integer.parseInt(results[i].toString()));
bmsg.setOrg_code(results[i+1].toString());
bmsg.setOrg_name(results[i+2].toString());
bmsg.setFource_count(results[i+3].toString());
i = i + results.length - 1; //注意这是重点
org_Info_list.add(bmsg);
}
p.setList(org_Info_list);
}
return p;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
如上所示:注释行去掉程序就会在循环里重复读取某一行数据直到报错,这时要读取下一行数据就得跳出for 到while中
这时如注释行:对i索引操作使其条件自相矛盾跳出循环重而达到目的
- 大小: 89.3 KB
分享到:
相关推荐
此外,笔记还展示了如何在存储过程中使用for循环来遍历结果集,这在处理大量数据时非常有用。例如: ```sql BEGIN FOR recordOne IN (SELECT id, name FROM cfftest.student) LOOP -- 打印处理结果 PRINT ...
- 控制流程:学习if语句、switch语句、for循环、while循环等控制结构。 - 函数:理解函数的定义、调用、参数传递和返回值。 - 数组和指针:熟悉数组的使用,理解指针的概念,包括指针变量、指针运算和动态内存...
14. **循环结构**:`for` 循环结构通常形式为 `for(initial; condition; update) { ... }`。 15. **循环控制**:`break` 语句用于跳出当前循环。 16. **函数定义**:`function functionName(parameters) {...}` ...
3. **数组与集合**:处理数据集时,数组和集合(如List)是常用的数据结构。理解它们的工作原理,以及如何通过索引、遍历或查询操作来操作这些数据,对解决问题至关重要。 4. **函数与方法**:编写可重用的代码块是...
- 遍历数组的方法,如for循环和增强for循环。 2. **选择结构.docx**: - Java中的条件语句,如if语句和switch语句,用于根据不同的条件执行不同的代码块。 - if-else语句的结构和嵌套使用,以及如何进行条件判断...
以下是一个关于如何在SQL Server中使用Transact-SQL游标处理数据的示例: ```sql -- 创建一个游标以查询客户信息 DECLARE CustomerCursor CURSOR FOR SELECT acct_no, name, balance FROM customer WHERE province ...
- **多线程**:在大型数据集上,可以考虑使用多线程并行处理,加快计算速度。 总结,打印100以内的质数是学习Java基础和算法的好练习。通过这个过程,你可以深入了解循环、条件语句、数学运算以及算法设计等核心...
约瑟夫环(Josephus Problem)是一个著名的理论问题,它源于古罗马时期的历史事件,但被数学家们抽象出来作为理论研究。在这个问题中,人们站成一个圈,并按照一定的顺序报数,每次数到特定数值的人会被排除出圈,...
这些面试题涵盖了C#编程语言的基础知识,如字符串操作、网络通信、数据访问以及优化代码性能的技巧,这些都是.NET开发人员应具备的核心技能。理解和掌握这些知识点对于准备.NET相关的面试至关重要。
Exit For ' 当满足某个条件时跳出循环 End If ' 其他循环体内的代码 Next ``` ### 数据库操作 #### 1. 连接数据库 在ASP中连接数据库通常使用ADO (ActiveX Data Objects)。以下示例展示了如何连接一个Access...
break和continue语句用于跳出当前循环或跳过本次循环的剩余部分。通过学习循环结构,我们能够编写出能够处理重复任务的程序。 数组章节将介绍一维数组和二维数组的概念、定义、初始化和应用。字符数组是特殊的数组...
在学习C语言的过程中,经常会遇到一些经典的问题,如判断素数、实现各种排序算法等。...此外,还可以尝试将这些算法应用到其他场景,比如排序大型数据集,或者将它们与其他算法结合,如结合动态规划等高级技术。
1. **基本语法**:包括变量声明、数据类型、运算符、流程控制(如if-else,switch-case,for,while,do-while循环)。 2. **函数**:了解如何定义和调用函数,参数传递,以及递归函数的使用。 3. **数组和指针**...
- **For循环**: VB.NET中用于重复执行一段代码块的控制结构。格式为: ```vbnet For variable = start To end [Step increment] ' 循环体 Next ``` - 示例: 计算1到20之间所有奇数除以5后的累加和。 ```vbnet ...
然而,在某些特定场景下,如错误处理或跳出多重循环时,`goto`语句可以提供更简洁的解决方案。 - **应用场景**:尽管在C++等现代语言中,异常处理机制和循环结构提供了更好的替代方案,但在特定情况下,如复杂的...
从给定的文件信息中,我们可以提炼出一系列与Java编程语言相关的知识点,这些知识点主要集中在Java的基础语法、数据类型、运算符、流程控制结构、以及一些面试中常见的陷阱和细节。下面,我们将对这些知识点进行详细...
- **6.4 for循环**:讨论初始化、条件判断和迭代控制的循环。 - **6.5 循环嵌套**:探讨循环间的嵌套使用。 - **6.6 break和continue语句**:对比这两个用于跳出或跳过循环的关键字。 - **第7章:数组** - **...
6. 循环控制表达式:在`while`循环中,表达式`t=l`(假设l代表1)始终为真,因此循环会一直执行,直到遇到`break`语句或其他跳出循环的条件。正确的描述是`B) 循环控制表达式的值为1`。 7. 实参与形参的数据传递:...