关于在页面上执行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="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语句的更多相关文章
- Yii框架,在页面输出执行sql语句,方便调试
1.下载yiidebugtb,并且放入到 application.extensions.yiidebugtb 目录 2.修改main.php,加入如下代码: 'log'=>array( 'cla ...
- 通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷
原文:通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷 通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷.效果如下: 步骤1:通过MyEcl ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(89)-EF执行SQL语句与存储过程
这一节,我们来看看EF如何执行SQL语句与读取存储过程的数据,可能有一部分人,还不知道EF如何执行存储过程与原生SQL语句! 我们什么时候要直接使用原生的SQL语句? 返回值过于复杂 过于复杂的联合查 ...
- 解决乱码的方法是,在执行SQL语句之前,将MySQL以下三个系统参数设置为与服务器字符集character-set-server相同的字符集
character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数据库字符集. characte ...
- easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)
easyui datagrid 禁止选中行 没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...
- 使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作
CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...
- 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作(二)
CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...
- 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作
http://www.cnblogs.com/wgp13x/p/4934521.html 内容一样,样式好的版本. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据 ...
- [转]在EntityFramework6中执行SQL语句
本文转自:http://www.cnblogs.com/wujingtao/p/5412329.html 在上一节中我介绍了如何使用EF6对数据库实现CRDU以及事务,我们没有写一句SQL就完成了所有 ...
随机推荐
- Android通过PHP连接MySQL(用到Json)
1下载phpnow 如果已经有mysql 则需要换一个端口 在服务器机器上的phpnow安装目录E:\PHPnow-1.5.5\htdocs下新建一个test.php文件: 其中我用的数据库是test ...
- 《JavaScript权威指南》读书笔记2
3.6-3.8 这三章主要介绍了JS的包装对象.不可变的原始值和可变的对象引用.JS中的类型转换. 包装对象主要指当原始值需要调用一些方法的时候(原始值本身是不能通过"."来调用的 ...
- Error:Execution failed for task ':app:mergeDebugResources'. > Some file crunching failed, see logs for details
Android Studio 编译中断.... Error:Execution failed for task ':app:mergeDebugResources'. > Some file c ...
- Android 贝塞尔曲线
博客图片备份位置:
- 【ecos学习1】wmware运行redboot[方法一]--脚本实现配置
背景: 远程服务器Ubuntu生成软盘镜像,通过Mac下wmware运行. 1- 环境及版本: uname -a 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 ...
- Kali Linux 新手折腾笔记
http://defcon.cn/1618.html 2014年09月29日 渗透测试 暂无评论 阅读 55,052 次 最近在折腾Kali Linux 顺便做一简单整理,至于安装就不再多扯了,估 ...
- Leetcode算法刷题:第14题 Longest Common Prefix
Longest Common Prefix 题目 给予一个列表,元素为字符串,写一个程序找出最长公共前缀 解题思路 先比较两个字符串,如果第一个字符不一样,则返回空值,比较完成后,用这个公共字符串和下 ...
- 浅析 JavaScript 的函数节流和去抖
现代网页的实现上,会有很多交互上的优化,比如常见的 滚动加载 ,输入联想 等等.他们的实现思路很简单,以滚动加载而言,无非就是去是增加一个滚动的事件监听,每次滚动判断当前的元素是否已经滚动到了用户的可 ...
- 观察者模式模拟YUI事件机制
首先介绍下YUI的事件机制,很好理解,因为和浏览器事件机制差不多.看懂下面几个方法就可以了: publish: 创建自定义事件.第一个参数是事件类型,第二个参数是一个对象,里面可以设置默认动作 on: ...
- 单元测试(UT)、功能测试(FT)(转)
纯个人总结: 单元测试(UT).功能测试(FT): 目的:1.尽量避免写的代码测试人员频繁的来找你其他地方又出问题了:2.提供的接口不可用:3.一个bug修复了引入了其他的bug或者其他用例变红了: ...