在页面上执行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. ASP.NET MVC 自定义错误页面心得

    自定义错误页面的目的,就是为了能让程序在出现错误/异常的时候,能够有较好的显示体验. 所以,首先要先了解,我们可以在哪里捕获异常. 当程序发生错误的时候,我们可以在两个地方捕获: Global里面的A ...

  2. HttpWebRequest在GetResponse时总是超时

    最近在通过RESTFUL接口来发布些数据,总是出现请求超时,好不容易找到个靠谱点的了,记下来,回去试下!! “ 问题就是我第一个HttpWebRequest在GetResponse之后,忘记将取得的W ...

  3. Sublime Text2 快捷键设置

    设置Tab两个空格: 点击 Preference -> Settings-User "tab_size":2, "translate_tabs_to_spaces& ...

  4. JAVA混型和潜在类型机制

    一.混型 ①.定义 二.利用JAVA如何实现混型 ①.代理   ②.装饰器模式  ③.动态代理模式   ④.装饰器模式与代理模式的区别 三.潜在类型机制 ①.定义 四.JAVA的潜在类型机制的补偿 ① ...

  5. Mfgtool

    For bootstrap mode, it refers to the communcation between the host and ROM codes through serial down ...

  6. mysql 匹配update

    update 语句示例: UPDATE `zjzc`.`QRTZ_SCHEDuler_state` SET `ip`='220.191.34.246' WHERE `sn`='3117764' and ...

  7. opendrive.com提供的免费网盘

    opendrive.com是由以前freehao123给大家介绍的BOXSTr免费网络硬盘演变而来的,现在BOXSTr已经无法使用了.打开BOXSTr网站就会自动跳转到opendrive.com网站. ...

  8. Qt widgets deeps--烧鸡

    1,Qt类读取目录 QDir读取目录内容--将读取结果输出到一个QMultiLineEdit对象 QMultiLineEdit *medit; medit = new QMultiLineEdit(t ...

  9. Java面向对象面试案例

  10. wxpython 拖动界面时进入假死状态(未响应)解决方法

    场景:在一个事件中调用一个函数,但是这个函数执行的时间非常的长,此过程中拖动界面的时候会使得界面进入未响应状态,直到函数执行完才可以ok 解决方法: 在调用函数的时候使用多线程调用 import th ...