`
chengyu2099
  • 浏览: 468698 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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[i]) {
							dt.push(result[i][j]);
						}
						dataArr.push(dt);
					}
					for (var i = 0; i < 1; i++) {
						for (var j in result[i]) {
							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:[panel,grid]
	})

});



//  select id,xlmc,dydj from dm_xl fetch first 2 rows only

===================== service

package 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;
    }
}

=========action

package 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>
分享到:
评论

相关推荐

    Ext项目小框架介绍源码

    "Ext项目小框架介绍源码"可能是一个简单的示例项目,展示了如何使用Ext JS来搭建一个基本的Web应用。这个项目包含以下几个关键部分: 1. **index.html**:这是项目的入口点,通常包含页面的基本结构和引用的外部...

    EXT4.0项目源码

    EXT4.0项目源码是Linux操作系统中EXT4文件系统的一个重要版本的源代码,它在文件系统的性能、稳定性和可靠性方面进行了优化。EXT4,全称“Fourth Extended File System”,是EXT3的后续,旨在解决EXT3在处理大量小...

    简单的EXT项目代码

    在"简单的EXT项目代码"中,我们可以推测这个项目是一个示例,用于展示EXT与Struts框架如何协同工作。Struts是一个Java EE平台上的开源MVC框架,它帮助开发者组织和控制应用程序的业务逻辑,使前端与后端数据交换变得...

    ext做的一个项目

    标题中的"ext做的一个项目"很可能是指使用EXT JS框架开发的一个Web应用程序项目。EXT JS是一个强大的JavaScript库,专用于构建富客户端的桌面级Web应用。它提供了大量的UI组件,如表格、面板、图表等,以及数据绑定...

    Ext项目实例 js sevlet

    在这个"Ext项目实例 js servlet"中,我们将探讨如何将ExtJS与Java Servlet结合,实现前后端的数据交互。 首先,ExtJS的主要组成部分包括: 1. **组件(Components)**:ExtJS 提供了各种各样的组件,如表格、表单...

    Ext.Net项目

    Ext.Net项目是一个基于.NET框架和JavaScript库Ext JS的Web开发框架。这个项目源码提供了一个完整的实例,适合初学者深入理解和学习Ext.Net的使用。它包括了完整的项目结构、源代码以及相关的数据库,使得开发者可以...

    EXT动态新增一行

    EXT,全称EXT JS,是一种基于JavaScript的富客户端框架,由Sencha公司开发,用于构建交互性强、功能丰富的Web应用...在实际开发中,需要注意代码的模块化和可维护性,遵循最佳实践,以提高代码质量和项目的长期稳定性。

    Ext2.0.2经典的一个JS组件带EXT中文手册.rar

    这个"Ext2.0.2经典的一个JS组件带EXT中文手册.rar"文件包含了该版本的ExtJS组件和相关的中文文档,帮助开发者更好地理解和使用这个框架。 1. **EXT中文手册**: 提供的`EXT 中文手册.doc`是ExtJS的中文文档,这...

    Ext框架结构 Ext目录结构

    在Ext 2.2中,各个组件和类通常会形成一个复杂的继承链,使得代码可以重用并保持一致性。类说明图可以帮助开发者理解和跟踪这些关系,从而更有效地进行开发。 标签"Ext框架结构"和"Ext目录结构"分别对应了框架的...

    spring hibernate ext项目

    "Spring Hibernate Ext"项目是一个整合了Spring框架、Hibernate ORM(对象关系映射)以及一些扩展功能的项目。这个项目的核心目标是提供一个高效且灵活的开发环境,使得开发者能够更轻松地利用这些技术来构建复杂的...

    Ext java web实战项目 企业进销存系统

    本项目“企业进销存系统”就是一个典型的例子,它深入实践了EXT与Java MVC模块的融合,为我们提供了宝贵的实战经验。 1. **EXT框架**:EXT是一个基于JavaScript的富客户端框架,主要用于构建桌面级的Web应用。它...

    ext 中文源代码

    在提供的“ext2中文文档新春版”中,很可能是EXT2版本的相关文档,EXT2是EXT的一个早期版本,可能包含了详细的API文档、教程和示例代码,帮助开发者理解EXT的基本用法和内部机制。通过阅读这些文档,开发者可以了解...

    ext 3.0 中文API

    EXT 3.0 是一个基于 JavaScript 的富因特网应用程序(Rich Internet Application, RIA)开发框架,尤其在Web应用程序的用户界面构建方面表现出色。它提供了大量的组件、布局管理和数据绑定功能,使得开发者能够创建...

    新版Ext.net+extjs标例框架项目

    在这个项目中,"EXTNETBS项目"可能是一个基于Ext.NET的基础项目,包含了必要的配置和示例代码,方便开发者快速启动新项目。 压缩包中的"OA_log.LDF"和"OA.mdf"文件是SQL Server数据库的日志文件和主数据文件。这些...

    EXT中文教程

    EXT2是EXT框架的一个重要版本,引入了许多新的组件和特性,如DataView、XTemplate等,进一步增强了框架的能力。 总之,EXT框架为Web开发提供了强大的工具集,涵盖了从DOM操作、事件处理到高级组件和布局管理的...

    GWT_EXT项目配置全过程

    在本文中,我们将深入探讨GWT_EXT项目的配置全过程,旨在帮助开发者更快速、更容易地理解和实践这一强大的开发工具。 一、环境准备 1. Java开发环境:首先,你需要安装Java Development Kit (JDK),确保版本至少为...

    Ext2.2 中文手册

    - **版本历史**:Ext2.2 是 Ext 的一个早期版本,相对于后续版本来说,它的功能可能较为有限,但在当时是非常先进的。 - **下载与安装**: - 下载地址:http://extjs.com/downloads - 安装方式:下载解压后,可以...

    有利于ext学习的小程序

    EXT,全称EXT JS,是一种基于JavaScript的开源前端框架,专为构建富互联网应用程序(RIA)设计。...在实践中遇到问题时,可以查阅EXT的官方文档,参与相关的论坛讨论,或者参考其他EXT项目的源码,以加速学习进程。

    ext.net 1.x DEMO

    "TransManage" 这个文件可能是项目中的一个模块或者组件,可能涉及到了事务管理相关的功能。在EXT.NET中,你可以使用 TreePanel 或者 GridPanel 来展示事务,通过 Store 与服务器端进行数据交互。同时,可能还会有 ...

Global site tag (gtag.js) - Google Analytics