我用rs.next()来识别好象不对,我代码如下:
<table border="0" cellpadding="0" cellspacing="0" width="95%" bgcolor="#F6F6F6">
<%
if(rs.next())
{
while (rs.next())
{
checkstr="";
if(rs.getInt("MustWrite")==1)
checkstr=" checked ";
else
checkstr="";
%>
<tr>
<td width="100%"><input type="checkbox" name="mustwrite" value="<%=rs.getInt("SetFieldID") %>" <%=checkstr%>><%=rs.getString("FieldName") %></td>
</tr>
<%
}
}
else
{
%>
<tr>
<td width="100%">没有记录</td>
</tr>
<%
}
rs.close();
%>
</table>
可如果用rs.next()来判断有没记录时,如有记录,则在下面用while显示记录时,记录已指向第二条,也就说,第一条记录显示不了(我个人觉得好象在执行if(rs.next())时指针就已移到下一条记录了).而我是希望只是识别一下,如有记录就全显示,如没有记录就显示"没有记录",这该怎么实现?
<table border="0" cellpadding="0" cellspacing="0" width="95%" bgcolor="#F6F6F6">
<%
if(rs.next())
{
while (rs.next())
{
checkstr="";
if(rs.getInt("MustWrite")==1)
checkstr=" checked ";
else
checkstr="";
%>
<tr>
<td width="100%"><input type="checkbox" name="mustwrite" value="<%=rs.getInt("SetFieldID") %>" <%=checkstr%>><%=rs.getString("FieldName") %></td>
</tr>
<%
}
}
else
{
%>
<tr>
<td width="100%">没有记录</td>
</tr>
<%
}
rs.close();
%>
</table>
可如果用rs.next()来判断有没记录时,如有记录,则在下面用while显示记录时,记录已指向第二条,也就说,第一条记录显示不了(我个人觉得好象在执行if(rs.next())时指针就已移到下一条记录了).而我是希望只是识别一下,如有记录就全显示,如没有记录就显示"没有记录",这该怎么实现?
解决方案 »
- 请各位高手帮忙看一下这是什么问题
- java事务处理问题
- 当在web.xml里面配置struts2就会报错。
- 想学jsp,不知从何下手
- 有没有人听说过上海群硕软件的啊?有没有人在那边参加过面试的啊?他们主要考哪方面的知识啊?
- Jave初学者提问,请教。谢谢。
- struts datasource 设置问题,请教高手
- jsp中怎么做自动生成网页
- 为什么Dreamwaver UltraDev 4 用JDBC连接数据库是无法处理中文?20分,全部家当!!
- jsp有bug??????????!!!!!!!!!!!!!!
- 》》》》》jsp中的bean怎样用才合理,不至于滥用,有经验的高手能否说说?
- 查询后显示的数据,随意排序,但是鼠标点击任一字段名后,自行按字母排序,这个需求怎么实现啊????????????????
所以你可以这样判断
if(rs.next())
{
rs2.beforeFirst();
while (rs.next())
所以你可以这样判断
if(rs.next())
{
rs.beforeFirst();
while (rs.next())
<%
int i = 0;
while (rs.next())
{
i++;
checkstr="";
if(rs.getInt("MustWrite")==1)
checkstr=" checked ";
else
checkstr="";
%>
<tr>
<td width="100%"><input type="checkbox" name="mustwrite" value="<%=rs.getInt("SetFieldID") %>" <%=checkstr%>><%=rs.getString("FieldName") %></td>
</tr>
<%
}
if(i==0){
%>
<tr>
<td width="100%">没有记录</td>
</tr>
<%
}
rs.close();
%>
</table>这样就可以了
你也可以用傻一点的方法,先用相同查询语句查,把指针指到最后一行,读取出有多少条记录,其实这个在分页中可以用到.
result=db.getRs(str);
result.last(); //将光标定位到最后一条记录
rowCount=result.getRow(); //获取所有记录的总行数
再用rowCount判断一下就可以.当其不为0的时候你就可以执行下面的while(rs.next())了.
道理相同,要达到的目的也差不多,只是方法不同罢了.
<table border="0" cellpadding="0" cellspacing="0" width="95%" bgcolor="#F6F6F6">
<%
if(rs.next())
{
checkstr="";
if(rs.getInt("MustWrite")==1)
checkstr=" checked ";
else
checkstr="";
%>
<tr>
<td width="100%"><input type="checkbox" name="mustwrite" value="<%=rs.getInt("SetFieldID") %>" <%=checkstr%>><%=rs.getString("FieldName") %></td>
</tr>
<%
while (rs.next())
{
checkstr="";
if(rs.getInt("MustWrite")==1)
checkstr=" checked ";
else
checkstr="";
%>
<tr>
<td width="100%"><input type="checkbox" name="mustwrite" value="<%=rs.getInt("SetFieldID") %>" <%=checkstr%>><%=rs.getString("FieldName") %></td>
</tr>
<%
}
}
else
{
%>
<tr>
<td width="100%">没有记录</td>
</tr>
<%
}
rs.close();
%>
</table>虽然笨了点,但是能够满足你的要求