请问各位老大 我这段代码为什么只能查找数据库里有的用户名 如果是数据库里没有的用户名就出错啊 
请各位老大给点提示
public String SelectName(String username){
this.work1_username = username;
System.out.println(work1_username);
try{
rst = stat.executeQuery("select work1_userpass from work1 where work1_userName = '"+work1_username+"'");
System.out.println("select work1_userpass from work1 where work1_userName = '"+work1_username+"'");
System.out.println(work1_userpass);
while(rst.next()){
work1_userpass = rst.getString("work1_userpass");
return work1_userpass;
}

}catch(SQLException e){
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
      
return null;
}

解决方案 »

  1.   

    就是程序运行到while(rst.next()){
    work1_userpass = rst.getString("work1_userpass");
    return work1_userpass;
    }
    这个地方就不再运行了
      

  2.   

    006-8-3 14:39:43 org.apache.struts.action.RequestProcessor processException
    警告: Unhandled Exception thrown: class java.lang.NullPointerException
    2006-8-3 14:39:43 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Servlet.service() for servlet action threw exception
    java.lang.NullPointerException
    at com.item.struts.action.LoginAction.execute(LoginAction.java:66)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Unknown Source)
      

  3.   

    LoginAction.java:66是哪一行啊?看看哪个可能是null。有了明确的目标再分析嘛
      

  4.   

    我猜,你在使用返回的String时没有对它检测,在使用它之前可以加条打印信息,来确保问题不是出在以上这段代码中.