在页面上执行sql语句,首先在页面上顶一个文本域,让用户输入需要执行的sql语句。

html代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
</head>
<body>
<div id ="defaultButtonBar" align="right" style="margin-right: 20px">
<button id="add" value="执行" onclick="find()" style="width: 100px;height: 30px;">执行</button>
</div> 
<div> 
输入的sql:<br><textarea id="sql" rows="6" style="width: 98%"></textarea>
</div>

<div id="divSql" style="color: red;height:400 "> <text id="str"></text></div>
</body>
</html>

然后最重要的是如何获取选中的文本并且让其在后台执行sql并返回信息给前台。

js代码如下:

/**
* 执行鼠标选中的文本(也就是sql语句)
*/
function find(){
  var selectValue=null;
  var sqlval=null;
  if (document.selection){
    selectValue=document.selection.createRange().text;//验证IE浏览器
  } else if (window.getSelection){
    // selectValue=window.getSelection();//其他浏览器
    var obj = document.getElementById("sql");
    var selstart = obj.selectionStart; //文字浮标选择的开始位置
    var selend = obj.selectionEnd; //文字浮标选择的结束位置
    selectValue= obj.value.substring(selstart,selend);
  }
  if(selectValue==null||selectValue==""){
    var sqlval=document.getElementById("sql").value.toLocaleLowerCase();
  }else{
    sqlval=selectValue;
  }
  if(sqlval.indexOf("select")!=-1&&sqlval.indexOf("create")==-1){
  sqlval = encodeURI(sqlval);
  $.ajax({
  type:'POST',
  url:'findColumn',
  data:"sqlval="+sqlval,
  dataType:'text',
  contentType:'application/x-www-form-urlencoded; charset=utf-8',
  success: function(data){
    var dataJson=eval('(' +data+ ')');
    $("#str").text("");
    $('#mytable').omGrid({
    height : 400,
    limit:0,
    colModel :dataJson,
    //contentType:'application/x-www-form-urlencoded; charset=utf-8',
    dataSource:'findData.action?sqlval='+sqlval
  });
  }
  , error:function(XMLResponse){
    document.getElementById("tab").innerHTML="";
    document.getElementById("tab").innerHTML='<table id="mytable"></table>';
    var str=XMLResponse.responseText;
    var str1=str.substring(str.indexOf("java"),str.lastIndexOf("</pre>"));
    $("#str").text("");// 清空数据
    $("#str").append(str1);
  }
  });
  }else{
    $.ajax({
    type:'POST',
    url:'updateAndDelete',
    data:"sqlval="+sqlval,
    dataType:'text',
    limit:0,
    contentType:'application/x-www-form-urlencoded; charset=utf-8',
    success: function(data){
      var dataJson=eval('(' +data+ ')');
      $("#str").text("");
      if(dataJson.update=='0002'){
        alert("更新成功");
      }else if(dataJson.del=='0001'){
        alert("删除成功");
      }else if(dataJson.insert=='0003'){
        alert("插入数据成功");
      }else if(dataJson.drop=='0004'){
        alert("删除表成功");
      else if(dataJson.create=='0005'){
        alert("创建表成功");
      }else{
        alert("系统出错");
      }
    },error:function(XMLResponse){
      var str=XMLResponse.responseText;
      var str1=str.substring(str.indexOf("java"),str.lastIndexOf("</pre>"));
      $("#str").text("");// 清空数据
      $("#str").append(str1);
     }
    });
  }
}

关于后台代码这里就不展示了,无非就是执行前台传过来的sql语句并返回一些相应的信息

关于在页面上执行sql语句的更多相关文章

  1. Yii框架,在页面输出执行sql语句,方便调试

    1.下载yiidebugtb,并且放入到 application.extensions.yiidebugtb 目录 2.修改main.php,加入如下代码: 'log'=>array( 'cla ...

  2. 通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷

    原文:通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷 通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷.效果如下: 步骤1:通过MyEcl ...

  3. ASP.NET MVC5+EF6+EasyUI 后台管理系统(89)-EF执行SQL语句与存储过程

    这一节,我们来看看EF如何执行SQL语句与读取存储过程的数据,可能有一部分人,还不知道EF如何执行存储过程与原生SQL语句! 我们什么时候要直接使用原生的SQL语句? 返回值过于复杂 过于复杂的联合查 ...

  4. 解决乱码的方法是,在执行SQL语句之前,将MySQL以下三个系统参数设置为与服务器字符集character-set-server相同的字符集

    character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数据库字符集. characte ...

  5. easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)

    easyui datagrid 禁止选中行   没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...

  6. 使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作

    CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...

  7. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作(二)

    CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...

  8. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作

    http://www.cnblogs.com/wgp13x/p/4934521.html 内容一样,样式好的版本. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据 ...

  9. [转]在EntityFramework6中执行SQL语句

    本文转自:http://www.cnblogs.com/wujingtao/p/5412329.html 在上一节中我介绍了如何使用EF6对数据库实现CRDU以及事务,我们没有写一句SQL就完成了所有 ...

随机推荐

  1. js编码规范

    使用统一的 编码规范 编写代码能提高JS代码的可读性,利于后期的维护和扩展,利于团队开发. 引用规范: 1.采用<script>...</script>方式引入 *.js 文件 ...

  2. C#的一个异常

    1.catch捕获得到的异常如图 2.解决办法(找到app.config文件,修改图中的值将原来的8192扩大了10倍)

  3. arrayAccess的接口使用

    <?php //get the methods instance of ArrayAccess //get the properties instance of ArrayAccess $ref ...

  4. Python网页信息采集:使用PhantomJS采集淘宝天猫商品内容

    1,引言 最近一直在看Scrapy 爬虫框架,并尝试使用Scrapy框架写一个可以实现网页信息采集的简单的小程序.尝试过程中遇到了很多小问题,希望大家多多指教. 本文主要介绍如何使用Scrapy结合P ...

  5. Java连接Azure SQL Database

    Azure SQL Database是Azure上的数据库PAAS服务,让用户可以快速的创建和使用SQL数据库而不用担心底层的备份,安全,运维,恢复等繁琐的工作,本文简单介绍如何使用Java程序连接到 ...

  6. Python 函数 切片 迭代 列表生成器

    函数 编写     定义一个函数要用def语句    def sum(i,n):   ⚠有冒号 返回多值     实际上是返回一个tuple 定义默认参数    默认参数的作用是简化调用   def ...

  7. nginx上传模块nginx_upload_module使用

    1.安装模块 1 cd /data/software 2 wget http://www.grid.net.ru/nginx/download/nginx_upload_module-2.0.12.t ...

  8. DPark安装及相关资料整理

    最近需要处理海量数据的分布式计算及数据挖掘,经过多次选择(hadoop,Spark,DPark),最后还是选择了DPark,主要是看中DPark的轻量级及python的灵活性,且除了豆瓣外,在几个友公 ...

  9. Python中:self和__init__的含义 + 为何要有self和__init__

    Python中:self和__init__的含义 + 为何要有self和__init__ 背景 回复: 我写的一些Python教程,需要的可以看看 中SongShouJiong的提问: Python中 ...

  10. SonarQube代码质量管理平台工具

    1.Sonar轮廓介绍 Sonar (SonarQube)是一个开源平台,用于管理源代码的质量.Sonar 不只是一个质量数据报告工具,更是代码质量管理平台.支持的语言包括:Java.PHP.C#.C ...