我有桌子员工
我将列检索为select emp_name,emp_add from employee
while(iResultSet1.next())
{
List expRptColWise = new ArrayList();
for(Integer i=1;i<=iResultSet1.getMetaData().getColumnCount();i++){
expRptColWise.add(iResultSet1.getString(i));
}
expRptRowWise.add(expRptColWise);
通过上面的代码片段,我得到了
emp_name | emp_add |
A | add1 |
B | add2 |
我想在结果集中添加序列号coloumn,以便我得到结果
emp_name | emp_add |Sr_No|
A | add1 |1 |
B | add2 |2 |
请指导我如何在结果集或集合对象中动态添加列,这里我使用了ArrayList。
答案 0 :(得分:11)
使用以下查询
select emp_name,emp_add, (ROW_NUMBER() OVER ( ORDER BY emp_name)) AS sr_no from employee
答案 1 :(得分:5)
在While循环中设置一个计数器,每次递增并在输出中使用它:
int j = 0;
while(iResultSet1.next())
{
j++;
List expRptColWise = new ArrayList();
for(Integer i=1;i<=iResultSet1.getMetaData().getColumnCount();i++)
{
expRptColWise.add(iResultSet1.getString(i));
}
expRptColWise.add(j);
expRptRowWise.add(expRptColWise);
}
答案 2 :(得分:3)
我更喜欢DinupKandel的回应,但仅仅因为我们不应该把所有鸡蛋放在同一个篮子里
int row = 0;
while(iResultSet1.next())
{
List expRptColWise = new ArrayList();
for(Integer i=1;i<=iResultSet1.getMetaData().getColumnCount();i++){
expRptColWise.add(iResultSet1.getString(i));
}
expRptColWise.add(++row);
expRptRowWise.add(expRptColWise);
}
可能会为你工作