在页面上执行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. MVC 过滤器 ActionFilterAttribute

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  2. 查看被锁的数据[Z]

    SELECT LOCK_INFO.OWNER || '.' || LOCK_INFO.OBJ_NAME AS OBJ_NAME --对象名称(已经被锁住) ,LOCK_INFO.SUBOBJ_NAME ...

  3. C#之回到了最初的起点----解决方案、项目、程序集、命名空间

    C#之回到了最初的起点----解决方案.项目.程序集.命名空间 ——Percy 初学者很容易把这些概念搞混淆.先说说项目(Project),通俗的说,一个项目可以就是你开发的一个软件.在.Net下,一 ...

  4. linux下C++ STL hash_map的使用以及使用char *型变量作为Key值的一大“坑”

    计算机编程中经常会用到hash表,而在C++中,使用STL编程更是少不了的.本文将介绍STL中hash_map的使用.在hash_map中使用自定义类型作为key值的方法以及在使用char *类型作为 ...

  5. Linux程序设计 读笔3 文件操作

    一 linux文件结构 二 系统调用和设备驱动程序 三 库函数 四 底层文件访问 五 标准IO库 六 格式化输入输出 七 文件和目录的维护 八 扫描目录 九 错误处理 十

  6. 理解中WebAPI的属性和相关操作 FormBody和 FormUri等(WebAPI 二)

    1.FromUri使用 将数据通过url方式传递.我们需要在webapi方法标明,这个参数只接受url中参数的值, $("#Save").click(function () { $ ...

  7. phonegap安卓环境下使用BarcodeScanner插件扫描二维码教程

    由于一直在使用phoneGap来开发安卓应用,而对于原生Java小白的我最近这几天一直陷入了如何使用phonegap的BarcodeScanner插件这件事情上,可以说查遍了百度和Google,虽然只 ...

  8. tp其他功能

    数据缓存 在ThinkPHP中进行缓存操作,一般情况下并不需要直接操作缓存类,因为系统内置对缓存操作进行了封装,3.1版本推荐的数据缓存方法是cache方法,基本的用法是:(3.1.2版本cache方 ...

  9. JAVA笔记(一)super and this

    http://zhangjunhd.blog.51cto.com/113473/20531 总结关键字this与super用法. author: ZJ 07-3-12 Blog: [url]http: ...

  10. 会场安排问题--nyoj题目14

    会场安排问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工 ...