首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

不能第二次访问数据库,该怎么处理

2012-01-18 
不能第二次访问数据库%@pagelanguage java import java.sql.* pageEncoding GB18030 %%reques

不能第二次访问数据库
<%@   page   language= "java "   import= "java.sql.* "   pageEncoding= "GB18030 "%>
<%request.setCharacterEncoding( "gb2312 ");%>
<html>
  <head>
  </head>
   
  <body   bgColor=#4e7dd1>
<form   action= "webedit.jsp "   method= "post ">
<table   align= "center ">
<tr> <td   align= "center "> <FONT   style= "FONT-SIZE:   15pt "   color=#eff5fa> 后台网络收藏夹管理 </FONT> </td> </tr>
<jsp:useBean   id= "resource "   scope= "page "   class= "sju.sjumis.yuanding.util.TeacherDBBean "> </jsp:useBean>
<%String   address   =   request.getParameter( "webaddress ");
String   name   =   "benwei ";
ResultSet   rs   =   resource.executeQuery( "select   *   from   collectioncontent   where   hrefaddress= ' "+address+ " '   and   username= ' "   +name+ " ' ");
if(rs.next())
{%>
<tr> <td> 网站名称: </td> <td> <input   type= "text "   name= "text1 "   value= <%=rs.getString( "webname ")%> > </td> </tr>
<tr> <td> 网站地址: </td> <td> <input   type= "text "   name= "text2 "   value= <%=rs.getString( "hrefaddress ")%> > </td> </tr>
<tr> <td> 网站名称: </td> <td> <input   type= "text "   name= "text3 "   value= <%=rs.getString( "remark ")%> > </td> </tr>
<tr> <td> <input   type= "hidden "   name= "text4 "   value= <%=rs.getString( "hrefaddress ")%> > </td> </tr>
<%}
else
{%>
<tr> <td> 网站名称: </td> <td> <input   type= "text "   name= "text1 "> </td> </tr>
<tr> <td> 网站地址: </td> <td> <input   type= "text "   name= "text2 "> </td> </tr>
<tr> <td> 网站名称: </td> <td> <input   type= "text "   name= "text3 "> </td> </tr>
<%}resource.closeStmt();%>
<tr>
        <td   align= "center "> <input   name= " "   type= "submit "   value= "提交 "   /> </td>
        <td   align= "center "> <input   name= " "   type= "reset "   value= "重置 "   /> </td>
    </tr>
    </table>
    <%
    String   text1Value   =   request.getParameter( "text1 ");
    String   text2Value   =   request.getParameter( "text2 ");
    String   text3Value   =   request.getParameter( "text3 ");  
    String   text4Value   =   request.getParameter( "text4 ");  
    if(text1Value   ==   null   &&   text1Value   ==   null   &&   text1Value   ==   null)
    {


    ResultSet   rw   =   resource.executeQuery( "select   *   from   collectioncontent   where   hrefaddress= ' "+address+ " '   and   username= ' "   +name+ " ' ");
    if(rw.next())
    {
    if(rw.getString( "webname ").equals(text1Value)   &&   rw.getString( "hrefaddress ").equals(text1Value)   &&   rw.getString( "remark ").equals(text1Value))
    out.print( " <script> alert( '请修改信息后再提交... '); </script> ");
    else
    {
    //out.print(text1Value+ " <br> ");out.print(text2Value+ " <br> ");out.print(text3Value+ " <br> ");out.print(text4Value+ " <br> ");
    resource.executeUpdate( "update   collectioncontent   set   webname= ' "+text1Value+ " ',hrefaddress= ' "+text2Value+ " ',remark= ' "+text3Value+ " '   where   hrefaddress= ' "+   text4Value   +   " '   and   username= ' "   +name+ " ' ");
out.print( " <script> alert( '信息也成功修改... '); </script> ");
out.print( " <script> window.close(); </script> ");
    }
    }
    }
</form>
  </body>
</html>


为什么第二个ResultSet   rw执行不了...
因没有rs.next()是false
所以 "if(rw.next()){.... "下面都不执行了?

[解决办法]
<%}resource.closeStmt();%>


ResultSet rw = resource.executeQuery( "select * from collectioncontent where hrefaddress= ' "+address+ " ' and username= ' " +name+ " ' ");
if(rw.next())
---------------------------------
关闭了,还用来执行?

[解决办法]
<%}resource.closeStmt();%>


ResultSet rw = resource.executeQuery( "select * from collectioncontent where hrefaddress= ' "+address+ " ' and username= ' " +name+ " ' ");
if(rw.next())
---------------------------------
关闭了,还用来执行?
[解决办法]
while(rw.next()){}循环结束后,rw的游标定位在结果集的最后了,第二次再读自然就没有数据了。可以在第二次读rw前把rw重定位到开始的位置就好。

热点排行