日期:2014-05-18  浏览次数:20593 次

第一次做jsp数据程序,出错了
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();
%>

第二次输出的就有问题了,换一个字段也出错,怎么回事?

------解决方案--------------------
你这两个字段是什么类型的啊?如果第一个是String第二个是int的那就肯定错了,String哪能复值给int呢
------解决方案--------------------
因为rs.getString( "Pro_Sort ");执行了两次.
要用下面的语句
PreparedStatement ps = conn.prepareStatement(query,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
------解决方案--------------------
你应该用的是微软的驱动吧?它的有个bug,就是你的那个问题,同一个字段不能取两次,改用jtds吧,它没有问题的
------解决方案--------------------
微软的驱动有 bug的(同一个字段不能重复取),改用jtds 就没有问题了