📄 fieldgroup.jsp
字号:
<%@ page import="java.util.*,java.sql.*, java.io.*" %><%! class FieldGroup{ private String sqlString=null; private String arrField[]=null; private String strResult[]=null; private String connectJust=null; private Vector vct=null; private Hashtable ht=null; private int total,absTotal; private int pageID,pageSize,htPos; private boolean hasGetPageID=false; /** *?????1,??Field ?? */ public FieldGroup(String arrField[],String tableName,String strWhere){ init(); this.sqlString=toSQL(arrField,tableName,strWhere); } /** *?????2???Sql,???????? */ public FieldGroup(String strSql){ init(); this.sqlString=strSql; } /** *?????3,???????????????? */ public FieldGroup(DBConnect dbCon,String strSql,int pageID,int pageSize){ init(); this.sqlString=strSql; this.doConnect(dbCon,pageID,pageSize); } /** *?????4,???????????????? */ public FieldGroup(DBConnect dbCon,String strSql){ init(); this.sqlString=strSql; this.doConnect(dbCon); } /** * ??? */ private void init(){ } /** *????Sql?? */ private String toSQL(String arrField[],String tableName,String strWhere){ int i,length=0; this.arrField=arrField; for(i=0;i<arrField.length-1;i++){ length+=arrField[i].length(); } StringBuffer strBuf=new StringBuffer(length+tableName.length()+10+strWhere.length()); strBuf.append("select "); for(i=0;i<arrField.length-1;i++){ strBuf.append(arrField[i]); strBuf.append(","); } strBuf.append(arrField[i]); strBuf.append(" from "); strBuf.append(tableName); strBuf.append(" "+strWhere); return strBuf.toString(); } /** *????SQL */ public String getSQL(){ return sqlString; } /** *?????????? */ public boolean isOK(){ return this.connectJust.equals("true")?true:false; } /** *?????? */ public String getStatus(){ return this.connectJust; } /** *????? */ public void setField(int col,String colValue){ arrField[col]=colValue; } /** *?????? */ public String doConnect(DBConnect dbCon){ return doConnect(dbCon,1,10000); } /** *??????,pageID Start with 1 */ public String doConnect(DBConnect dbCon,int pageID,int pageSize) { vct=new Vector(); this.pageSize=pageSize; this.pageID=pageID; connectJust="true"; try{ //absTotal=dbCon.getRowCount(sqlString); dbCon.setStatment(); ResultSet mainRst = dbCon.doSearch(sqlString); if(arrField==null)arrField=getFields(mainRst)[0]; int location=(pageID-1)*pageSize; total=0; absTotal=0; for(int i=0;i<location;i++){ mainRst.next(); absTotal++; } if(location>0){ //this.addDebug("Result Begin"+String.valueOf(location)); //String linsString=String.valueOf(mainRst.absolute(location)); //this.addDebug("linsString"); //this.addDebug("Result End"); ; } //absTotal=location+1; while(total<pageSize&&mainRst.next()) { ht=new Hashtable(); for(int i=0;i<arrField.length;i++){ ht.put(arrField[i].toUpperCase(),mainRst.getString(arrField[i])==null?"__NULL":mainRst.getString(arrField[i])); //connectJust=Integer.toString(total)+"I"+Integer.toString(i); } vct.add(ht); total++; absTotal++; } while(mainRst.next()){ absTotal++; } if(total==0){ connectJust="No Records!"; } else{ ht=(Hashtable)vct.get(0); htPos=0; } mainRst.close(); } catch(Exception e){ e.printStackTrace(); connectJust="SQL Error!"; //this.addDebug(e.toString()); } finally{ return connectJust; } } /** *???????? */ public int getTotal(){ return total; } /** *????? */ public int getAbsTotal(){ return absTotal; } /** *?????? */ public int getPageNum(){ if(absTotal==0) return 1; if(absTotal%pageSize==0) return absTotal/pageSize; else return absTotal/pageSize+1; } /** *??????? */ public int getNext(){ if(pageID==getPageNum()) return pageID; else return pageID+1; } /* *??????? */ public int getPrev(){ if(pageID==1) return 1; else return pageID-1; } /** *??ID??????? */ public String getString(String fieldName,int ID){ if(ht==null)return ""; String strReturn=null; if(htPos!=ID){ ht=(Hashtable)vct.get(ID); htPos=ID; } if(connectJust.equals("true")&&ID<total){ strReturn=(String)ht.get(fieldName.toUpperCase()); if(strReturn==null)strReturn=""; //???? if(strReturn.equals("__NULL"))strReturn=""; //???Null } else strReturn=""; //SQL??????? //strReturn=Integer.toString(vct.size()); return strReturn; } /** *?????????? */ public String getString(String fieldName){ return getString(fieldName,0); } /** *?????????Vector */ public Vector getVector(){ return vct; } /** *???????Hashtable */ public Hashtable getHashtable(int ID){ return (Hashtable)vct.get(ID); } /** * */ public String[][] getStringArray(){ if(!(vct.size()>0))return null; String[][] strArr=new String[vct.size()][arrField.length]; int i,j; for(i=0;i<vct.size();i++){ for(j=0;j<arrField.length;j++){ strArr[i][j]=this.getString(arrField[j],i); } } return strArr; } /** *????????????! */ public String[] getField(){ return arrField; } /** *返回分页代码 */ public String getNavi(String theForm,String linkClass){ if(linkClass==null)linkClass=""; StringBuffer sbRtn=new StringBuffer(); sbRtn.append("<table width='100%'>"); if(!hasGetPageID)sbRtn.append("<input type=hidden id=pageID name=pageID value=\""+pageID+"\">"); sbRtn.append("<tr><td align=center>"); sbRtn.append("第"+pageID+"/"+getPageNum()+"页,共"+getAbsTotal()+"条记录; "); if(pageID!=1)sbRtn.append("<a href=\"#\" class=\""+linkClass+"\" onclick=\""+theForm+".pageID.value=1;"+theForm+".submit();\">[首页]</a> "); else sbRtn.append("[首页] "); if(pageID!=getPrev())sbRtn.append("<a href=\"#\" class=\""+linkClass+"\" onclick=\""+theForm+".pageID.value="+getPrev()+";"+theForm+".submit();\">[上页]</a> "); else sbRtn.append("[上页] "); if(getPageNum()>1)sbRtn.append("<a href=\"#\" onclick=\""+theForm+".pageID.value=prompt('请输入你要跳到的页码,注意不能小于1,不能大于"+getPageNum()+"!','');if("+theForm+".pageID.value!=null&&"+theForm+".pageID.value!=''&&"+theForm+".pageID.value!='null'){if("+theForm+".pageID.value<="+getPageNum()+"&&"+theForm+".pageID.value>=1)"+theForm+".submit();else alert('对不起,你的输入页码有错误!');}\">[跳转]</a> "); else sbRtn.append("[跳转] "); if(pageID!=getNext())sbRtn.append("<a href=\"#\" class=\""+linkClass+"\" onclick=\""+theForm+".pageID.value="+getNext()+";"+theForm+".submit();\">[下页]</a> "); else sbRtn.append("[下页] "); if(pageID!=getPageNum())sbRtn.append("<a href=\"#\" class=\""+linkClass+"\" onclick=\""+theForm+".pageID.value="+getPageNum()+";"+theForm+".submit();\">[尾页]</a>"); else sbRtn.append("[尾页]"); sbRtn.append("</td></tr></table>"); this.hasGetPageID=true; return sbRtn.toString(); } /** * * @param theForm * @return */ public String getNavi(String theForm){ return getNavi(theForm,null); } };%><%///////////////////////////////////////%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -