注册 登录
编程论坛 J2EE论坛

jsp写一个下拉菜单的应用,但是不能实现,我把代码帖出来,大家帮我看看

zq1983 发布于 2007-04-05 19:42, 2357 次点击

一部分代码

<%
//连接数据库
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:firstdb";
conn = DriverManager.getConnection(url,"admin3","admin3");
stmt=conn.createStatement();
//实现了一些功能
String sql="select * from songhuodan";
rs=stmt.executeQuery(sql);
while(rs.next()){
.......................................................
........................................................
......................................................
..............................................................

}
//找出 a表中b列的个数,并存放在total中
String sqlCount="select count(b) from a";
Statement stmtCount=conn.createStatement();
ResultSet rsCount=stmtCount.executeQuery(sqlCount);
rsCount.next();
int total=rsCount.getInt(1);

//我的下拉菜单的写法

%>
<td >定单号</td>

<select size="1" name="uid">
<%
while(rs.next()){
for(int i=1;i<=total;i++){
%>
<option value=<%=total %>><%=rs.getString("b")%></option>
<%
}
}
%>
</select>
我的目的是在b列里的全部元组显示在这个下拉菜单里,但是我一运行,在下拉菜单里什么也没有.不知道怎么回事.在线等

[此贴子已经被作者于2007-4-5 19:44:36编辑过]

9 回复
#2
风月_无边2007-04-05 21:13
while循环中为何还要加一个for循环呢,直接外边一层循环不就可以把表a中一列值都显示出来吗!!
#3
zq19832007-04-05 21:28

for循环放在哪.

#4
风月_无边2007-04-05 22:08
只显示一列的话,不用for循环!
#5
喃瑟2007-04-06 08:43
for循环没错,你先打印一下total的值是多少就知道了
#6
喃瑟2007-04-06 08:53
你的rs.getString("b")怎么理解?
#7
黄袖标2007-04-06 18:55
给你个小提示
int i=1;
while(){
i++;
//do your work
}
懂了没,楼主逻辑有点乱,多写写就好了
#8
黄袖标2007-04-06 19:20
不好意思楼主,刚才没看清楚。ls有误
#9
亮剑2007-04-06 20:21

我也看不懂
<%=rs.getString("b")%>

#10
lgdcky2007-04-06 22:42
String sqlCount="select count(b) from a";
Statement stmtCount=conn.createStatement();
ResultSet rsCount=stmtCount.executeQuery(sqlCount);
rsCount.next();
int total=rsCount.getInt(1);

好像有问题吧rsCount.next()没有while循环指针是不会往下移动的,total的值是0吧!
不知道还有没有谁有高见了!
1