action////////////////public class Search extends ActionSupport {
private Tstock tstock;
private Tstock tstockan;
private String OrderNumber;
private String AdminNumber;
private String MerNumber;
private String MerName;
private String msg = "您好";

public Tstock getTstock() {
return tstock;
}
public void setTstock(Tstock tstock) {
this.tstock = tstock;
}
public Tstock getTstockAN() {
return tstockan;
}
public void setTstockAN(Tstock tstockan) {
this.tstockan = tstockan;
}
public String execute() throws Exception {
if (isInvalid(OrderNumber)&&isInvalid(AdminNumber)&&isInvalid(MerNumber)
&&isInvalid(MerName)) {
msg = "请输入需要查询的信息!";
return INPUT;
}
if (null == new SearchDAO().SStock(OrderNumber)&& null == new SearchDAO().SStockAN(AdminNumber)
/*||null == new SearchDAO().SStock(MerNumber)||null == new SearchDAO().SStock(MerName)*/){
msg = "仓库里不存在包括此字段的货物,请重新输入!";
return INPUT;
}
tstock = new SearchDAO().getStock(OrderNumber);
tstockan = new SearchDAO().getStockAN(AdminNumber);
return SUCCESS;
}
private boolean isInvalid(String value) {
return (value == null || value.length() == 0);
}DAO////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////public class SearchDAO {
public Tstock getStock(String OrderNumber) {
Tstock tstock = new Tstock();
String sql = "SELECT * FROM Stock WHERE OrderNumber=?";
PreparedStatement pstat = null;
ResultSet rs = null;
Connection conn = new DBHelper().getConn();
try {
pstat = conn.prepareStatement(sql);
pstat.setString(1,OrderNumber);
rs = pstat.executeQuery();
while (rs.next()) {
tstock.setOrderNumber(rs.getString(1));
tstock.setAdminNumber(rs.getString(2));
tstock.setMerNumber(rs.getString(3));
tstock.setMerName(rs.getString(4));
tstock.setMerCategory(rs.getString(5));
tstock.setStockAmount(rs.getString(6));
tstock.setMerPrice(rs.getString(7));
tstock.setStockNumber(rs.getString(8));
tstock.setOrderDate(rs.getDate(9));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null)
rs.close();
if (pstat != null)
pstat.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return tstock;
}
public Tstock getStockAN(String AdminNumber) {
Tstock tstockan = new Tstock();
String sql = "SELECT * FROM Stock WHERE AdminNumber=?";
PreparedStatement pstat = null;
ResultSet rs = null;
Connection conn = new DBHelper().getConn();
try {
pstat = conn.prepareStatement(sql);
pstat.setString(1,AdminNumber);
rs = pstat.executeQuery();
while (rs.next()) {
tstockan.setOrderNumber(rs.getString(1));
tstockan.setAdminNumber(rs.getString(2));
tstockan.setMerNumber(rs.getString(3));
tstockan.setMerName(rs.getString(4));
tstockan.setMerCategory(rs.getString(5));
tstockan.setStockAmount(rs.getString(6));
tstockan.setMerPrice(rs.getString(7));
tstockan.setStockNumber(rs.getString(8));
tstockan.setOrderDate(rs.getDate(9));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null)
rs.close();
if (pstat != null)
pstat.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return tstockan;
}
public String SStock(String OrderNumber) {
Tstock tstock = new Tstock();
String sql = "SELECT * FROM Stock WHERE OrderNumber=?";
PreparedStatement pstat = null;
ResultSet rs = null;
Connection conn = new DBHelper().getConn();
String userid = null;
try {
pstat = conn.prepareStatement(sql);
pstat.setString(1,OrderNumber);
rs = pstat.executeQuery();
while (rs.next()) {
userid = rs.getString(1);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null)
rs.close();
if (pstat != null)
pstat.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return userid;
}
public String SStockAN(String AdminNumber) {
Tstock tstockan = new Tstock();
String sql = "SELECT * FROM Stock WHERE AdminNumber=?";
PreparedStatement pstat = null;
ResultSet rs = null;
Connection conn = new DBHelper().getConn();
String userid = null;
try {
pstat = conn.prepareStatement(sql);
pstat.setString(1,AdminNumber);
rs = pstat.executeQuery();
while (rs.next()) {
userid = rs.getString(1);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null)
rs.close();
if (pstat != null)
pstat.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return userid;
}

public static void main(String[] args) {
Tstock tstock=new Tstock();
Tstock tstockan=new Tstock();
SearchDAO searchDAO = new SearchDAO();
//System.out.println("SearchDAO.main()" + searchDAO.SStock("00"));
//System.out.println("SearchDAO.main()" + searchDAO.SStockAN("00"));
}
}///////////////////////////////
jsp页面里两个输入框,两个按钮。分别按不同的条件 输出数据。关键在前面action里的 search.java这里
... ...
tstock = new SearchDAO().getStock(OrderNumber);
tstockan = new SearchDAO().getStockAN(AdminNumber);
... ...tstock = new SearchDAO().getStock(OrderNumber);可以正常执行 输出一行数据!
tstockan = new SearchDAO().getStockAN(AdminNumber); 不出错 ! 但是输出空白!!而如果tstock和tstockan 的位置对换一下。那么第一句  就输出空白,而第二句输出数据了。关键在于tstock  和 tstockan 明明配置都是一样的。为什么tstockan 不能查询出数据库里数据呢。请教。