chengyu2099 发表于 2013-1-23 02:17:03

EXT 项目中的一个模块

JS================/* * @First ext program @param sql query @param SQL 查询工具 */Ext.onReady(function(){/* * 定义gridpanel参数值 */var columnFields = new Array();var dataArr = new Array();var headerArr = new Array();var grid = new Ext.grid.GridPanel({title : "返回SQL动态数据库",cm : new Ext.grid.ColumnModel(headerArr),store :new Ext.data.SimpleStore({data : dataArr,fields : columnFields}),region : 'center',closable : true,layout : 'fit',viewConfig : {forceFit : false},stripeRows : true,autoScroll : true});var panel = new Ext.Panel({title : '自定义SQL查询',frame : true,bodyStyle : {paddingTop : '3px'},height : 180,layout : 'fit',region : 'north',collapsible : true, // 右上角的伸缩按钮buttons:[      {      text:'查询',      iconCls : 'search',      tooltip : '查询数据库'      ,handler:function()      {      Ext.Msg.wait('正在处理返回数据...');      Ext.Ajax.request({url : 'sqlQuery!getSqlQueryList.action',method : "post",params : {sql : Ext.getDom('sqltext').value},success : function(dataAggregate) {/* * 清空数组 重新赋值 展示 */columnFields.splice(0);dataArr.splice(0);headerArr.splice(0);/* * 服务器返回数据 */var arrayData = dataAggregate.responseText;var result = Ext.decode(dataAggregate.responseText);var num = result.length;/* * 处理进度条 */if(num == 0){Ext.MessageBox.alert('查询记录为空!');}else if(num >= 1){Ext.Msg.updateProgress(1);Ext.Msg.hide();}/* * 解析result数据 */var ch = '';var dataSt = '';for (var i = 0; i < num; i++) {var dt = new Array();for (var j in result) {dt.push(result);}dataArr.push(dt);}for (var i = 0; i < 1; i++) {for (var j in result) {columnFields.push(j); // 取列信息var col = {};col.header = j;col.dataIndex = j;col.sortable = true;headerArr.push(col);}}grid.reconfigure(new Ext.data.SimpleStore({data : dataArr,fields : columnFields}), new Ext.grid.ColumnModel(headerArr));},failure : function(dataAggregate) {alert('连接失败,请联系管理员,检查数据库连接情况或网络!' + dataAggregate.responseText);}});      }      },      {      text:'重写',      tooltip : '橡皮擦',      handler:function()      {      Ext.getDom('sqltext').value='';      }      }      ],      items: [      {      id:'sqltext',      xtype:'textarea',      width:'99%'      }      ]});new Ext.Viewport({layout:'border',items:})});//select id,xlmc,dydj from dm_xl fetch first 2 rows only===================== servicepackage com.suypower.xssystem.service;import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import net.sf.json.JSONObject;import com.suypower.xssystem.dao.dbconn;public class sqlQueryService {    public static List getSqlQueryService(String sql)throws Exception    {      final List list = new ArrayList();//         有没有对此封装调用 日后修改代码 同步      Connection con = new dbconn().getConnection();      Statement stmt = con.createStatement();      /*         * 查询SQL         *///               if((sql.indexOf("select") + sql.indexOf("delete") + sql.indexOf("update") + sql.indexOf("insert")) == -4)      {            JSONObject obj = new JSONObject();            list.add(obj.accumulate("非法SQL","非法SQL"));      }else if(sql.startsWith("select"))      {            ResultSet rs = stmt.executeQuery(sql);            while(rs.next())            {                JSONObject obj = new JSONObject();                int columnNum = rs.getMetaData().getColumnCount();                for(int i =1;i<=columnNum;i++)                {                  System.out.println("列名:"+rs.getMetaData().getColumnName(i)+"列值:"+rs.getString(i));                  obj.accumulate(rs.getMetaData().getColumnName(i),rs.getString(i));                }                list.add(obj);            }                   }else if(sql.startsWith("update"))      {            JSONObject obj = new JSONObject();            stmt.executeUpdate(sql);            int updateNum = stmt.getUpdateCount();//            System.out.println("更新"+updateNum+"个");            list.add(obj.accumulate(String.valueOf(updateNum),String.valueOf(updateNum)));      }else if(sql.startsWith("delete"))      {            JSONObject obj = new JSONObject();            stmt.executeUpdate(sql);            int updateNum = stmt.getUpdateCount();//            System.out.println("删除"+updateNum+"个");            list.add(obj.accumulate(String.valueOf(updateNum),String.valueOf(updateNum)));      }else if(sql.startsWith("insert"))      {            JSONObject obj = new JSONObject();            stmt.executeUpdate(sql);            int updateNum = stmt.getUpdateCount();//            System.out.println("插入"+updateNum+"个");            list.add(obj.accumulate(String.valueOf(updateNum),String.valueOf(updateNum)));      }      return list;    }}=========actionpackage com.suypower.xssystem.action;import java.util.ArrayList;import java.util.List;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import com.suypower.xssystem.bean.ExtGridBean;import com.suypower.xssystem.service.sqlQueryService;public class SqlQueryAction {    private static final String userResult = "user";    private String result;    private String sql;    public String getSqlQueryList()    {      List list = new ArrayList();      JSONObject obj = new JSONObject();      try {            list = sqlQueryService.getSqlQueryService(sql);         } catch (Exception e)      {//            System.out.println("=============================SqlQueryAction Exceptoin==========================");            String getMessageException = e.getMessage();//            System.out.println("SQLgetMessageException"+getMessageException+"\n");            list.add(obj.accumulate(getMessageException,getMessageException));      }//    this.setResult(JSONArray.fromObject(list).toString());      this.setResult(JSONArray.fromObject(list).toString());    System.out.println("result="+result);    return userResult;    }    /*   * get set method   */    public String getResult() {      return result;    }    public void setResult(String result) {      this.result = result;    }    public static String getUserResult() {      return userResult;    }       public String getSql() {      return sql;    }    public void setSql(String sql) {      this.sql = sql;    }}================jsp<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%><%    String path = request.getContextPath();    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>    <base href="<%=basePath%>">    <title></title>    <meta http-equiv="pragma" content="no-cache">    <meta http-equiv="cache-control" content="no-cache">    <meta http-equiv="expires" content="0">       <link rel="stylesheet" type="text/css" href="ext-2.2/resources/css/ext-all.css">    <link rel="stylesheet" type="text/css" href="css/ext-commons.css">    <script type="text/javascript" src="ext-2.2/adapter/ext/ext-base.js"></script>    <script type="text/javascript" src="ext-2.2/ext-all.js"></script>    <script type="text/javascript" src="ext-2.2/source/locale/ext-lang-zh_CN.js"></script>    <script type="text/javascript" src="js/ext-monthField.js"></script>    <script type="text/javascript" src="js/util.js"></script>    <script type="text/javascript" src="js/ext-commons.js"></script>    <script type="text/javascript" src="js/sqlQuery.js"></script></head><body><div id="sQ"></div></body></html>
页: [1]
查看完整版本: EXT 项目中的一个模块