求大大们帮助,关于JSP动态查询显示数据库的问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 03:37:08
对于select f_param from list where id=f_id
其中f_param和f_id都是来自上一个页面的动态查询请求,f_param包括数据库的列名称,是若干string用逗号分割的;f_id是若干数字id

如果是静态的,比如只是查询两个,我知道应该这样:
String s1=rs.getString(1);
String s2=rs.getString(2);

问题是:
我该用什么办法才能动态的显示出来?
不会用动态数组,不知道该怎么赋值,也不知道该怎么用<table>动态的显示出来

真诚的希望高手帮忙!!

f_id是用什么表示的?若也是逗号隔开的,sql查询时可用关键词in
先得出f_param中列的长度可以用split
int columns =f_param.split(',').length+1;//假设f_param形如"cola,colb,colc,cold"
//同时假设f_id也形如 "1,2,3,4,5",那么
sql = "select "+f_param +" from list where id in ("+f_id"+)";
//取结果集的时候,然后显示
<table>
<%
while (rs.next()){
out.println("<tr>");
for(int i=1;i<=columns;i++){
//table显示,相信到这里lz应该知道怎么显示了吧,给个简单的例子把,请lz自行改成自己要的格式
out.println("<td>"+rs.getString(i)+"</td>");
}
out.println("</tr>");
}
%>
</table>

1、你从数据库取记录,列就不要在SQL语句里筛选了,直接把所有数据都取出来:select * from list where id=f_id 。筛选在显示的时候完成好了,(这样做看上去是多取了无用的列,但实际上对系统性能几乎没有影响。)
2、若干个数字ID,SQL语句就可以搞定:
:select * from list where id in (若干个ID);