• 关于在页面上执行sql语句


    在页面上执行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=" 100px;height: 30px;">执行</button>
    </div> 
    <div> 
    输入的sql:<br><textarea id="sql" rows="6" style=" 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语句并返回一些相应的信息

  • 相关阅读:
    Oracle:DBMS_STATS.GATHER_TABLE_STATS的语法
    Oracle Purge和drop的区别
    Oracle Pipelined Table Functions简介
    Firefox与IE浏览器缓存的两个重要区别
    @SuppressWarnings的使用、作用、用法
    正确优雅地解决用户退出——JSP及Struts解决方案
    log4j详解与实战
    maven项目在eclipse中debug时看不到源码?
    maven tomcat eclipse 配置 debug
    Java泛型详解
  • 原文地址:https://www.cnblogs.com/zhilongblogs/p/4021877.html
Copyright © 2020-2023  润新知