1. 程式人生 > >ERP運維諮詢(目標和成功)

ERP運維諮詢(目標和成功)

對該頁面進行自提交,每個查詢條件通過text控制元件傳遞,在本頁中用  
  request.getParameter();方法獲得,如果不為空,則附加到sql上去;如:    

 String   date   =   request.getParameter("sDate");  
  String   sql   =   "select   *   from   tbname   where   1=1";  
   
  if(date   !=   null){  
      sql   =   sql   +   "   and   tbname.date   =   '"+   date   +"'";  
  }  
   
  sql   =   sql   +   "   order   by   **";   //最後合成的句子還可以排序  

String code = request.getParameter("code");
  String name = request.getParameter("name");

  //新增查詢條件
  String condition = "";

  if ((code != null) && (!code.equals("")) && (!code.equalsIgnoreCase("NULL")))
    condition = " AND CODE LIKE '%" + code + "%'";
  else
    code = "";
  if ((name != null) && (!name.equals("")) && (!name.equalsIgnoreCase("NULL")))
    condition = condition + " AND NAME LIKE '%" + name + "%'";
  else
    name = "";


  String sqlText = "";
  if (condition == "")
    sqlText = "SELECT ROWNUM RN, ID, CODE, NAME,SPEED FROM LOOP WHERE TYPECODE = 1 AND ID = -1";
  else{
   StringBuffer buf = new StringBuffer("");
   buf.append("  SELECT ROWNUM RN, ID, CODE, NAME, TYPECODE,")
      .append(" DECODE(KINDCODE,")
      .append("              1, '二纖單向通道保護環',")
      .append("              2, '二纖單向複用段保護環',")
      .append("              3, '四纖雙向複用段保護環',")
      .append("              4, '二纖雙向複用段保護環',")
      .append("              5, '無保護鏈',")
      .append("              6, 'SNCP環',")
      .append("              7, '線性複用段',")
      .append("              8, 'PDH微波') KINDCODE,")
      .append("  (SELECT PARACONTENT FROM PARAMETER  WHERE PARATYPE = 26 AND FLOATREMARK = L.SPEED) SPEED")
      .append(" FROM LOOP L WHERE TYPECODE = 1 " + condition);
    sqlText = buf.toString();
  }

String name = "ddd";
String sex = "bbb";
String address = "www";

StringBuffer sql = new StringBuffer("select * from user where 1 = 1 ");
boolean valid = false;

if (name != null && name.trim().length() > 0) {
sql.append(" and name like '%" + name + "%'");
valid = true;
}
if (sex != null && sex.trim().length() > 0) {
sql.append(" and sex like '%" + sex + "%'");
valid = true;
}
if (address != null && address.trim().length() > 0) {
sql.append(" and address like '%" + address + "'%");
valid = true;
}

if (valid) {

Connection con = null;
Statement stmt = null;
ResultSet rs;

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:jj";

con = DriverManager.getConnection(url, "xkxk", "xkxk");
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql.toString());

while (rs.next()) {

// 操作資料
}

}