ResultSet rs = jdbcbean.executeQuery(sql);
String Pro_Sort;
String Note_Type_ID;
while (rs.next())
{
%>
<tr>
    <td><%  Pro_Sort = rs.getString("Pro_Sort"); 
out.println(Pro_Sort);
  %></td>
 <td><%  Note_Type_ID = rs.getString("Pro_Sort"); 
out.println(Pro_Sort);
  %></td>
  <!--完全复制下来的怎么回出错了?去掉第二个就没问题-->
  <td><%//=rs.getString("Pro_Sort") %></td> 
  </tr>
<%
}
rs.close();
jdbcbean.closeDB();
%>第二次输出的就有问题了,换一个字段也出错,怎么回事?

解决方案 »

  1.   

    你这两个字段是什么类型的啊?如果第一个是String第二个是int的那就肯定错了,String哪能复值给int呢
      

  2.   

    因为rs.getString("Pro_Sort");执行了两次.
    要用下面的语句
     PreparedStatement ps = conn.prepareStatement(query,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
      

  3.   

    你不要赋值,直接在<td>标签中间插入<%= rs.getString("Pro_Sort")%>试试 。看行不行。
      

  4.   

    你应该用的是微软的驱动吧?它的有个bug,就是你的那个问题,同一个字段不能取两次,改用jtds吧,它没有问题的
      

  5.   

    微软的驱动有 bug的(同一个字段不能重复取),改用jtds 就没有问题了
      

  6.   

    谢谢大家的回复,我是按书进度学习的,暂时用jdbc-odbc桥连接数据库输出两次就出错,-------------------------------------------------
    vacuumboy(菜鸟依旧) 说的那个方法
    PreparedStatement  ps  =  conn.prepareStatement
    PreparedStatement不是用于带参数的sql语句吗,
    我是在执行一般sql(不带参数)后读取返回的数据出问题,和带参数的sql查询无关吧--------------------------------------------------transit136(transiter) 
    我换了别的字段也出问题!
    ---------------------------------------------------最后朋友告诉我:[一个一个字段读 按顺序],就是说完全按照sql中字段顺序读取数据,这样就解决问题了 
    关于本文代码的详细资料:http://hi.baidu.com/aaa888/blog/item/161e870a113b1d1e95ca6bc4.html