在页面上执行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 ></textarea>
</div>

<div ></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 ).append(str1);
     }
    });
  }
}

 

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

 

相关文章:

  • 2021-10-19
  • 2021-12-19
  • 2021-12-30
  • 2022-01-29
猜你喜欢
  • 2021-08-08
  • 2021-10-05
  • 2021-11-02
  • 2021-12-18
  • 2021-06-23
  • 2021-09-18
相关资源
相似解决方案