回 帖 发 新 帖 刷新版面

主题:关于Connection的问题,我快疯了!!回帖加分

请教大家个问题:
Collection list=new ArrayList();
TeacherBean tb=new TeacherBean();
try{
stm=con.createStatement(); 
rst=stm.executeQuery("select * from teacher");
while(rst.next())
{
tb.setAccount(rst.getString("tid"));
tb.setPassword(rst.getString("tpwd"));
tb.setUsername(rst.getString("tname"));
tb.setSex(rst.getString("sex"));
tb.setDepartment(rst.getString("department"));
}
rst.close();
stm.close();
                

catch(Exception e)
{
System.out.println("mei jie guo");
}
Iterator it=list.iterator();
while(it.hasNext())//显示存在问题
{
TeacherBean teab=(TeacherBean)(it.next());
System.out.print(teab.getAccount());//就是这句输出有问题
}
以上是部分代码,本来是应该输出所有的记录,可是结果循环输出了最后一条记录
求大家了,帮帮忙!!谢了!!

回复列表 (共5个回复)

沙发

既然是循环上有问题!
那你可以先试试用FOR循环!
<%
i:integer;
rst1=stm.executeQuery("select count(*) as cnt from teacher");
if rst1.next{
  try{
  rst=stm.executeQuery("select * from teacher");
  if rst.next{ 
  for(i=1;i<cnt;i++){

  tb.setAccount(rst.getString("tid"));
  tb.setPassword(rst.getString("tpwd"));
  tb.setUsername(rst.getString("tname"));
  tb.setSex(rst.getString("sex"));
  tb.setDepartment(rst.getString("department"));
  next;//最后有没有这个NEXT我忘了!学了阵DELPHI把JSP忘了挺多!
%>

这样加上上面的代码试试!
如果不成功看它抛出什么异常!
如果可以你再看看怎么把它换成WHILE

板凳

我明白了,是tb=new TeacherBean()的问题应该放到循环里边

3 楼

那样的话有多少次循环就要连多少次BEAN了???

这样数据量小了可能不会有什么问题,可是数据量一旦大了可能非常耗时耗系统资源!
只是这么猜的!!也未必是这样!

4 楼

哪,怎么作更好哪?

5 楼

按理说应该是把这个BEAN放到循环之外比较合理!
可是。。。放循环之外又抛出异常,我也不太知道该怎么弄了!
我这机器上IIS,TOMCAT啥都没有,也试不了!!
抱歉啊!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册