站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题我想要把数据库中,NUM字段值相同的显示在一行上,该怎么设置呢?

我想要把数据库中,NUM字段值相同的显示在一行上,该怎么设置呢?

摘要: 我想要把数据库中,NUM字段值相同的显示在一行上,该怎么设置呢?


我想要把数据库中,NUM字段值相同的显示在一行上,该怎么设置呢?

SQL="Select * from aa";
rs=dbt.executeQuery(SQL);
try{
while (rs.next())
{%>
<tr>
<td><%rs.getString("NUM");%></td>
。。。
<td><%rs.getString("NAME");%></td>
</tr>
<%
}
dbt.dbserverDisConnect();
}catch(Exception e){}
这样列出来的是有几条显示几条!我怎么能把相同num的只显示在一条上呢?


SQL="Select * from aa";
rs=dbt.executeQuery(SQL);
try{
<tr>
while (rs.next())
{%>

<td><%rs.getString("NUM");%></td>

<%
}
dbt.dbserverDisConnect();
}catch(Exception e){}
</tr>


下面是参考…………自己看



SQL="Select * from aa order by NUM";
rs=dbt.executeQuery(SQL);

String numTmp = "";
String nameTmp = "";

ArrayList numList = new ArrayList();
ArrayList nameList = new ArrayList();

try{
while (rs.next())
{

if(numTmp.equals(rs.getString("NUM"))) {
nameTmp = nameTmp + rs.getString("NAME") + " ";
} else {
if(!numTmp.equals("")) {
numList.add(numTmp);
nameList.add(nameTmp);
}

numTmp = rs.getString("NUM");
nameTmp = rs.getString("NAME") + " ";
}
}

numList.add(numTmp);
nameList.add(nameTmp);

for(int i = 0;i%>
<tr>
<td><%=(String)numList.get(i)%></td>
<td><%=(String)nameList.get(i)%></td>
</tr>
<%
}
dbt.dbserverDisConnect();
}catch(Exception e){}


ArrayList,我没有用过这个!能讲解一下么?


排序取出来 相同的都在一起


我是要把相同num的记录,在页面上只显示一行!
比如说:列车时刻表!
一周的车次他每天的发车时间,均相同,但不是一周内每天都有车.运行日这一列不同.
我想要把num相同的,但是"运行日"不同的,显示在一行上,把这周内都哪一天有车,在一列上列出来!


neptune0229(暗长空) :我用你的方法怎么什么都不显示,也不报错啊?


大家帮帮我啊!


我说的不行吗?

SQL="Select * from aa";
rs=dbt.executeQuery(SQL);
try{
<tr>
while (rs.next())
{%>

<td><%rs.getString("NUM");%></td>

<%
}
dbt.dbserverDisConnect();
}catch(Exception e){}
</tr>



要导入java.util.ArrayList才能使用
ArrayList是一个集合


lianhg(lianhg):您好像没看明白的想要实现的!您的方法是把数据库中数据取出来啊!
neptune0229(暗长空) :我导入包了,不导会有错误的!


<tr> </tr> 放到循环外部就可以横向输出


lianhg(lianhg) :我是要只显示一条,而不是把那些显示在一行上!



neptune0229(暗长空):是下面的结果诶!
CA111 周一
CA111 周一
CA111 周一 周二
CA111 周一
CA111 周一 周二
CA111 周一 周二 周三
CA111 周一
CA111 周一 周二
CA111 周一 周二 周三
CA111 周一 周二 周三 周四
CA111 周一
CA111 周一 周二
CA111 周一 周二 周三
CA111 周一 周二 周三 周四
CA111 周一 周二 周三 周四 周五
CA111 周一
CA111 周一 周二
CA111 周一 周二 周三
CA111 周一 周二 周三 周四
CA111 周一 周二 周三 周四 周五
CA111 周一 周二 周三 周四 周五 周六
CA111 周一
CA111 周一 周二
CA111 周一 周二 周三
CA111 周一 周二 周三 周四
CA111 周一 周二 周三 周四 周五
CA111 周一 周二 周三 周四 周五 周六
CA111 周一 周二 周三 周四 周五 周六 周日
我是想要这样的结果的:
CA111 周一 周二 周三 周四 周五 周六 周日
只有这一条



SQL="Select * from aa order by NUM";
<tr>
rs=dbt.executeQuery(SQL);
try{
String preNum = "";
int i = 0;
while (rs.next())
{%>
if (num.equals(rs.getString("NUM")) && i !=0) {
</tr>
<tr>
<td><%rs.getString("NUM");%></td> // 换行
} else {
<td><%rs.getString("NUM");%></td>
}
preNum = rs.getString("NUM");
i ++;
<%
}
dbt.dbserverDisConnect();
}catch(Exception e){}
</tr>


不行诶!


SQL="Select * from aa order by NAME, NUM";
<tr>
rs=dbt.executeQuery(SQL);
try{
String preNum = "";
String preName = "";
int i = 0;
while (rs.next())
{%>
if (!preName.equals(rs.getString("NAME")) && i !=0) {
</tr>
<tr>
<td><%rs.getString("NAME");%></td>
<td><%rs.getString("NUM");%></td> //
i = 0;
} else {
if (i ==0) {
<td><%rs.getString("NAME");%></td>
}
<td><%rs.getString("NUM");%></td>
}
preNum = rs.getString("NUM");
preName = rs.getString("NAME");
i ++;
<%
}
dbt.dbserverDisConnect();
}catch(Exception e){}
</tr>


…………
楼主确认偶那段代码输出结果是那样的???
应该不会啊……
-_||||||


是那样子的嘛!
我是想要这样的结果的:
CA111 周一 周二 周三 周四 周五 周六 周日
只有这一条
实际数据库中是存了7条
CA111 周一
CA111 周二
CA111 周三
CA111 周四
CA111 周五
CA111 周六
CA111 周日


楼主确认那段代码是完全复制过去的???
偶怎么看都没错啊……
-_||||||||


我觉得也没什么错误!可是好像循环上有问题!为什么会输出那样的结果呢?


我改好了!好像是我改时不小心弄错了!你的应该没有错误!谢谢哈!


↑返回目录
前一篇: 怎样才能得到request的参数中的最后的空格
后一篇: 在eclipse中中文问题怎么解决,谢谢