Search.java///////////////////////////////////////////////////////////////////////////////////////////////////////// public String execute() throws Exception {
if (isInvalid(OrderNumber)) {
msg = "请输入订单号!";
return INPUT;
}
if (null == new SearchDAO().getStock(OrderNumber)){
msg = "此订单号不存在!";
return INPUT;
}
tstock = new SearchDAO().getStock(OrderNumber);
return SUCCESS;
}SearchDAO.java///////////////////////////////////////////////////////////////////////////////////////////////////////public String getStock(String OrderNumber) {
Tstock tstock = new Tstock();
String sql = "SELECT * FROM Stock WHERE OrderNumber=?";
PreparedStatement pstat = null;
ResultSet rs = null;
String userid = null;
Connection conn = new DBHelper().getConn();
try {
pstat = conn.prepareStatement(sql);
pstat.setString(1,OrderNumber);
rs = pstat.executeQuery();
while (rs.next()) {
userid = rs.getString(1);
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 userid;
}
说明:
jsp页面 一个输入框名是OrderNumber 和 数据库里的列名一致。我就是要找出和输入框输入的OrderNumber 一致的那一行。1.如果输入框里什么都不输入,显示 "请输入订单号!" 一切正常!
2.如果输入正确的OrderNumber 值,页面显示出数据库里相应的那一行 一切正常!
3.如果输入错误的OrderNumber 值,页面不显示 错误的提示信息!我觉得错误输入的话。。userid里始终是空值。但是就是不出现错误提示。奇怪请教。
if (isInvalid(OrderNumber)) {
msg = "请输入订单号!";
return INPUT;
}
if (null == new SearchDAO().getStock(OrderNumber)){
msg = "此订单号不存在!";
return INPUT;
}
tstock = new SearchDAO().getStock(OrderNumber);
return SUCCESS;
}SearchDAO.java///////////////////////////////////////////////////////////////////////////////////////////////////////public String getStock(String OrderNumber) {
Tstock tstock = new Tstock();
String sql = "SELECT * FROM Stock WHERE OrderNumber=?";
PreparedStatement pstat = null;
ResultSet rs = null;
String userid = null;
Connection conn = new DBHelper().getConn();
try {
pstat = conn.prepareStatement(sql);
pstat.setString(1,OrderNumber);
rs = pstat.executeQuery();
while (rs.next()) {
userid = rs.getString(1);
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 userid;
}
说明:
jsp页面 一个输入框名是OrderNumber 和 数据库里的列名一致。我就是要找出和输入框输入的OrderNumber 一致的那一行。1.如果输入框里什么都不输入,显示 "请输入订单号!" 一切正常!
2.如果输入正确的OrderNumber 值,页面显示出数据库里相应的那一行 一切正常!
3.如果输入错误的OrderNumber 值,页面不显示 错误的提示信息!我觉得错误输入的话。。userid里始终是空值。但是就是不出现错误提示。奇怪请教。
解决方案 »
- 如何更好的学习Extjs
- 电子签到系统怎样得到电脑唯一标示防止作弊?
- struts路径问题
- 分页查询的一个问题
- linux yum error,这个error已经困扰我好一段时间了.各位大哥哥指点一下小弟,感激不尽
- 用ibatis出现异常,com.ibatis.common.jdbc.exception.NestedSQLException
- 我使用JBuilderX 的JDBC去连接MySQL
- 紧急求救,struts 为什么不往action中传值?
- 用JBuilder10找开struts-config.xml总是出错!
- JavaEE离线文档,哪里有下载?
- struts2+hibernate +JSP输出数据库字段问题!!!
- Spring集成问题
没明白能详细说说吗?你的程序没有对输入的OrderNumber验证的方法吗
这个情况主要是在验证方法中来处理错误的OrderNumber,
保证其不能在输入错误的OrderNumber时候执行插入数据方法
而是跳转到相应的页面提示相应的错误信息
要有贴出来看看,没有楼主可以按上述说的做就可以了