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

提问:ResultSet在if语句中不可操作?解决思路

2012-01-06 
提问:ResultSet在if语句中不可操作?%Stringidnorequest.getParameter( searchidno )//获取提交的身份

提问:ResultSet在if语句中不可操作?
<%
        String   idno=request.getParameter( "searchidno ");     //获取提交的身份证号
        String   name=request.getParameter( "searchname ");       //获取提交的姓名
        String   origin=request.getParameter( "searchorigin ");   //获取提交的籍贯
        if(idno==null){idno= " ";}
        byte   b[]=idno.getBytes( "ISO-8859-1 ");
        idno=new   String(b);        
        if(name==null){name= " ";}
        byte   c[]=name.getBytes( "ISO-8859-1 ");
        name=new   String(c);
        if(origin==null){origin= " ";}
        byte   d[]=origin.getBytes( "ISO-8859-1 ");
        origin=new   String(d);
       
       
       
        String   sql1= "select   *   from   basic   where   idno= ' "+idno+ " ' ";
        String   sql2= "select   *   from   basic   where   name= '% "+name+ "% ' ";
        String   sql3= "select   *   from   basic   where   origin= ' "+origin+ " ' ";
        String   sql4= "select   *   from   basic   where   idno= ' "+idno+ " '   and   name= '% "+name+ "% ' ";
        String   sql5= "select   *   from   basic   where   idno= ' "+idno+ " '   and   origin= ' "+origin+ " ' ";
        String   sql6= "select   *   from   basic   where   name= '% "+name+ "% '   and   origin= ' "+origin+ " ' ";
        String   sql7= "select   *   from   basic   where   idno= ' "+idno+ " '   and   name= '% "+name+ "% '   and   origin= ' "+origin+ " ' ";
      CONTROLDB   con=new   CONTROLDB();
      ResultSet   rs;
      if(idno== " "   &   name== " "   &   origin== " "){response.sendRedirect( "basicsearcherror.jsp ");}
      else   if(idno== " "   &   name== " "   &   origin!= " "){ResultSet   rs=con.executeQuery(sql3);}
      else   if(idno== " "   &   name!= " "   &   origin== " "){ResultSet   rs=con.executeQuery(sql2);}
      else   if(idno!= " "   &   name== " "   &   origin== " "){ResultSet   rs=con.executeQuery(sql1);}
      else   if(idno!= " "   &   name!= " "   &   origin== " "){ResultSet   rs=con.executeQuery(sql4);}
      else   if(idno!= " "   &   name== " "   &   origin!= " "){ResultSet   rs=con.executeQuery(sql5);}


      else   if(idno== " "   &   name!= " "   &   origin!= " "){ResultSet   rs=con.executeQuery(sql6);}
      else   {
          rs=con.executeQuery(sql7);
      }
%>

<p   align=right> AI 's   Studio </p>
<CENTER>
          <P> 添加新记录后数据库: </P>
<TABLE   border= " "   >
<TBODY>
<TR>
<TH   width= "50 "> 身份证号 </TH>
<TH   width= "100 "> 姓名 </TH>
<TH   width= "120 "> 籍贯 </TH>
                                                                <TH   width= "50 "> 性别 </TH>
                                                                <TH   width= "50 "> 年龄 </TH>
</TR>
<%             if(rs.next())response.sendRedirect( "notfound.jsp ");
                else   {
                                do{%>
<TR   align= "center ">
<TD> <%=rs.getString(1)%> </TD>
<TD> <%=rs.getString(2)%> </TD>
<TD> <%=rs.getString(3)%> </TD>
                                                                <TD> <%=rs.getString(4)%> </TD>
                                                                <TD> <%=rs.getString(5)%> </TD>
</TR>
<%                             }while(rs.next());
                }%>
</TBODY>
</TABLE>
</CENTER>
                  <p   align=center> <a   href= "basicinfo.jsp "> 返回 </a> </p>
<%
          con.close();
  %>

编译通不过,总说rs没有初始化,如果在if中初始化rs问题就变成rs变量未定义,不明白该怎么弄了,请大家帮帮忙拉!
btw,如果可以帮我改进一下if/else那些复杂的逻辑就更好啦

[解决办法]
ResultSet rs = null就编译通过了,不过要捕捉NullPointerException的异常
[解决办法]
ResultSet rs;
//> > 这里得初始化为null
if(idno== " " & name== " " & origin== " "){response.sendRedirect( "basicsearcherror.jsp ");}
else if(idno== " " & name== " " & origin!= " ")
{ResultSet rs=con.executeQuery(sql3);}


//> > 这里定义重复了,去掉类型声明ResultSet :{ rs=con.executeQuery(sql3);}

热点排行