java.lang.NullPointerException
at Search.GetResult.getResults(GetResult.java:42)
at jsp_servlet._qcfd.__test._jspService(__test.java:171)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:996)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at edu.nudt.rmgs.userpurview.PurviewFilter.doFilter(PurviewFilter.java:64)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6458)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3661)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2630)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
at Search.GetResult.getResults(GetResult.java:42)
at jsp_servlet._qcfd.__test._jspService(__test.java:171)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:996)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at edu.nudt.rmgs.userpurview.PurviewFilter.doFilter(PurviewFilter.java:64)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6458)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3661)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2630)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
package Search;
import java.sql.*;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import Search.DataConn;
//import java.util.*;
//import java.io.*;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;public class GetResult{
String cuudate;
String humanid;
String weather;
private Connection conn;
private Date Date1;
private Date Date2;
public void setDate1(Date Date1){
this.Date1=Date1;
}
public void setDate2(Date Date2){
this.Date2=Date2;
}
public Date getDate1(){
return this.Date1;
}
public Date getDate2(){
return this.Date2;
}
public GetResult()throws Exception{
DataConn ss=new DataConn();
Connection conn = ss.getDataConn();
}
public StringBuffer getResults(String sdeptid)throws Exception{
//String session = this.getDepart();
//int ret = 0;
StringBuffer buffer=new StringBuffer();
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery("select * from V_SITEDUTYRIZHITWO where SDEPTID='" + sdeptid + "' and DCURRDATE BETWEEN Date1 AND Date2 ");
int i=1;
while(rset.next()){buffer.append("<tr class=" + "Other_Row" + "><td>");
cuudate=rset.getString(1).toString();
buffer.append("<input type=" + "checkbox" + " name=" + "id" + " value=" + cuudate + " onClick=" + "checkfirst(this)" + "> " + "记录" + " + i + ");
humanid=rset.getString(8).toString();
buffer.append("<td>" + cuudate + "</td>");
buffer.append("<td>" + humanid + "</td>");
weather=rset.getString(9).toString();
buffer.append("<td>" + weather + "</td>");
buffer.append("</td></tr>");
i=i+1;
}
rset.close();
stmt.close();
conn.close();
return buffer;
}
}
BETWEEN Date1 AND Date2
data1和data2属于参数,该用参数的写法
另外data1和data2是否在程序外调用过setDate1(Date Date1)和setDate2(Date Date2)
DataConn ss=new DataConn();
Connection conn = ss.getDataConn();
}改成
public GetResult()throws Exception{
DataConn ss=new DataConn();
conn = ss.getDataConn();
}
DataConn ss=new DataConn();
Connection conn = ss.getDataConn();
}
对同意
shiningsb(web思想社区『www.webtm.cn』) ( )
因为你的ss.getDataConn()取过来的链接,只在GetResult方法中有效,下面的StringBuffer getResults用的还是没有初始化的conn
public GetResult()throws Exception{
DataConn ss=new DataConn();
Connection conn = ss.getDataConn();
}
中,ss.getDataConn()取回来的结果付给了局部对象 conn,而不是成员 conn,去掉上面语句中的 Connection 应该就可以了。