} sql = "select company from tblally where allyid = '" + allyid + "'"; RS = dbConn1.executeQuery(sql); if(RS.next()) { acompany = RS.getString("company");
} sql="select sum(price*quantity) as sums from tblcproduct where contractid='" + contractid +"'"; RS=dbConn1.executeQuery(sql); if(RS.next()) { sum = RS.getString("sums"); }
sql="select allyid,date,place,deposit,receive,paydate,dest,trans,cost,status,deadline,breakitem,re,useragen,allyagen,flag from tblcontract where contractid='" +contractid + "'";没有满足此条件的记录也会出现空指针,你把此sql语句用System.out.println(sql);在后台输出拷贝,然后在查询分析器中执行一下,看是否有记录输出,若没有记录输出,则为上述情况。
你从request种取数据页存在同样的问题
部分源码:<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<%@ page contentType="text/html;charset=gb2312"%>
<%@ include file="cAHead.jsp"%>
<%@ page language="java" session="true"%>
<%@ page import="java.sql.*"%><%@ page import= "java.io.*"%>
<%@ page import="china.common.*"%>
<jsp:useBean id="dbConn1" scope="page" class="china.common.dbConn" /><meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>合同信息显示页面</title>
<style TYPE="text/css">
td {
FONT-SIZE: 14px
}
</style>
<%
String listid="";
int prodid;
int quantity;
String requests;
double price;
String sum="";
String contractid;
String sql;
ResultSet RS;
java.util.Date date=new java.util.Date();
String allyid="";
String place="";
String deposit="";
String receive="";
java.util.Date paydate=new java.util.Date();
String dest="";
String trans="";
String cost="";
String status="";
java.util.Date deadline=new java.util.Date();
String breakitem="";
String re="";
String useragen="";
String ucompany="";
String acompany="";
String allyagen="";
String flag="";
String pname;
String ordflag="";
String senflag="";
%>
<script language=Javascript>
function back()
{
window.history.back();
}
</script>
</head>
<body>
<%String pid=request.getParameter("pid");
session.setAttribute("pid",pid);
%>
<font size="2">
当前位置:>><a href="alContractlist.jsp">合同管理</a>>><%if(pid.equals("0")){%>合同确认<%}else{out.print("合同内容");}%></font>
<center>
<table border="1" width="659" height="52" bordercolor="#88C4FF" cellspacing="1">
<%
String userid = (String)session.getAttribute("lgdid");
%>
<%
contractid = request.getParameter("contractid");
sql="select allyid,date,place,deposit,receive,paydate,dest,trans,cost,status,deadline,breakitem,re,useragen,allyagen,flag from tblcontract where contractid='" +contractid + "'";
//out.print(sql);
RS = dbConn1.executeQuery(sql);
if(RS.next())
{
allyid = RS.getString("allyid");
date = RS.getDate("date");
place = RS.getString("place");
if((place == null)||(place.equals(""))||(place.equals("null")))
{
place =" ";
}
deposit = RS.getString("deposit");
receive = RS.getString("receive");
paydate = RS.getDate("paydate");
dest = RS.getString("dest");
if((dest == null)||(dest.equals(""))||(dest.equals("null")))
{
dest =" ";
}
trans = RS.getString("trans");
cost = RS.getString("cost");
status = RS.getString("status");
if((status == null)||(status.equals(""))||(status.equals("null")))
{
status =" ";
}
deadline = RS.getDate("deadline");
breakitem = RS.getString("breakitem");
re = RS.getString("re");
if((re == null)||(re.equals(""))||(re.equals("null")))
{
re =" ";
}
useragen = RS.getString("useragen");
allyagen = RS.getString("allyagen");
flag = RS.getString("flag");
}
sql = "select company from tbluser where userid = '" + userid + "'";
RS = dbConn1.executeQuery(sql);
if(RS.next())
{
ucompany = RS.getString("company");
}
sql = "select company from tblally where allyid = '" + allyid + "'";
RS = dbConn1.executeQuery(sql);
if(RS.next())
{
acompany = RS.getString("company");
}
sql="select sum(price*quantity) as sums from tblcproduct where contractid='" + contractid +"'";
RS=dbConn1.executeQuery(sql);
if(RS.next())
{
sum = RS.getString("sums");
}
%>
建议你用System.out.println(),跟踪一下,看看问题出在那里
(status.equals("")) 有问题。equals后面也是一个对象,而null不是一个对象,你的前一个或分支已经包含这个意思了。
去掉这句话!
我已将所有equals(),equals(null),equals("")
注释掉,但出错情况还是一样luckyfanjian(luckyfan):
getParameter的参数没问题
看736行是什么,就大致知道是哪个对象为空了~