📄 sqlexec.aspx
字号:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="sqlexec.aspx.cs" Inherits="isqlweb.sqlexec" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>执行SQL语句</title>
<link href="Style/main.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form runat="server" id="form1">
<script type="text/javascript" src="Style/jquery.js"></script>
<script type="text/javascript">
var initDbName,initDbNameExecuted=false;
try{
initDbName="<%=InitDbName %>";
}catch(e){
}
document.onkeydown = function(){
//后退
if(event.keyCode==8){
event.keyCode=0;
event.returnValue=false;
}
//F5
if(event.keyCode==116){
event.keyCode=0;
event.returnValue=false;
executesql();
}
}
var txtsql,resultTableFm,resultMessageFm,resultTable,resultMessage,txt_databases,btn_run;
$(function(){
txtsql=$("#txtsql");
resultTableFm = $("#resultTable");
resultTable=resultTableFm[0].contentWindow.document.getElementById("main");
resultTable=$(resultTable);
resultMessageFm=$("#resultMessage");
resultMessage=resultMessageFm[0].contentWindow.document.getElementById("main");
resultMessage=$(resultMessage);
closeResult();
btn_run=$("#btn_run");
//加载数据库列表
txt_databases = $("#txt_databases");
reloadDatabases();
});
//清除Options所有项
function clearOptions(o){
var $o = $(o);
$o[0].options.length=0;
//while($o[0].options.length>0)
// $o[0].options.remove(0);
}
//txtsql对象
function txtsqldoc(){
var d=null;
try{
d=txtsql[0].contentWindow.document;
}catch(e){
}
return d;
}
//txtsql设置高
function txtsql_height(val){
var d=txtsqldoc();
if(!d)return;
d.height(val);
txtsql.height(val);
}
//关闭结果面板
function closeResult(){
resultTableFm.hide();
resultMessageFm.hide();
txtsql_height(496);
}
//显示网格结果面板
function showResultTable(){
resultTableFm.show();
resultMessageFm.hide();
txtsql_height(254);
}
//清除网格结果
function clearResultTable(){
resultTable.empty();
}
//显示消息结果面板
function showResultMessage(){
resultTableFm.hide();
resultMessageFm.show();
txtsql_height(254);
}
//清除消息结果
function clearResultMessage(){
resultMessage.empty();
}
//加载数据库列表
function reloadDatabases(){
clearOptions(txt_databases);
txt_databases.load("sqlexec_ajax.aspx",{cmd:"loadAllDatabasesForSelect"},reloadDatabases_callback);
}
function reloadDatabases_callback(){
var option = document.createElement("OPTION");
option.value= "reload"
option.text = "刷新该列表...";
txt_databases[0].options.add(option);
if(initDbNameExecuted==false){
initDbNameExecuted=true;
if(initDbName!=null && initDbName!=''){
selectDatabase(initDbName);
}
}
}
//执行Sql语句
function executesql(){
//求sql语句
var d=txtsqldoc();
if(!d)return;
var strsqsl;
if(d.selection.type!="Text"){
strsql = d.text();
}else{
var rng=d.selection.createRange();
strsql = rng.text;
}
//alert(strsql);
if(strsql==null || strsql=="")return;
//求数据库名
var option = txt_databases[0].options[txt_databases[0].selectedIndex];
if(option.value=="reload")return;
//是否正在运行
if(window.sqlexecRun)return;
window.sqlexecRun=true;
btn_run.attr("disabled","disabled");
//运行sql
$.post("sqlexec_ajax.aspx",{cmd:"executesql",dbname:option.text,text:strsql,addform:true},executesql_callback);
}
function executesql_callback(data){
window.sqlexecRun=false;
btn_run.removeAttr("disabled");
data = data.split("|");
try{
eval(data[0]);
}catch(e){
var executesql_result = {};
executesql_result.success=false;
executesql_result.message="客户端在处理服务器的返回结果时发生错误。\r\n错误原因:\r\n"
+ e.message + "\r\n\r\n服务端返回结果:\r\n" + data[0];
}
var r=executesql_result;
if(!r.success){ //执行失败
clearResultTable();
clearResultMessage();
showResultMessage();
resultMessage[0].innerHTML=r.message;
}else if(data.length==1){ //成功,无表结果
clearResultTable();
clearResultMessage();
showResultMessage();
resultMessage[0].innerHTML=r.message;
}else{ //成功,并有表结果
clearResultTable();
clearResultMessage();
showResultTable();
resultMessage[0].innerHTML=r.message;
resultTable[0].innerHTML=data[1];
}
}
//设置当前数据库
function selectDatabase(dbname){
var d=txt_databases[0];
for(var i=0;i<d.options.length;i++){
var t=d.options[i].innerText;
if(t==dbname){
d.selectedIndex=i;
return;
}
}
var option = document.createElement("OPTION");
option.text = dbname;
txt_databases[0].options.add(option);
d.selectedIndex=d.options.length-1;
}
//执行 sp_helptext
function helptext(name,dbname){
selectDatabase(dbname);
$.get("sqlexec_ajax.aspx",{cmd:"helptext",dbname:dbname,text:name},helptext_callback);
}
function helptext_callback(data){
var d=txtsqldoc();
var textarea = d.getElementById("txtsql");
textarea.value = data;
}
</script>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="8" height="29"><img src="Style/sqltools_01.gif" width="8" height="29" alt="" /></td>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="2" background="Style/sqltools_02.gif"></td>
</tr>
<tr>
<td height="26" bgcolor="#D4D0C8"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left">
<button id="btn_run" class="sqltoolbtn" onclick="executesql();"><img src="Style/sqltools_08.gif" alt="" width="16" height="15" align="absmiddle" />执行(F5)</button>
<select id="txt_databases" style="width:180px;" onchange="if(this.options[this.selectedIndex].value=='reload')reloadDatabases();">
</select>
<button class="sqltoolbtn" onclick="showResultTable();"><img src="Style/btn_table.gif" alt="" width="16" height="15" align="absmiddle" /> 网格</button>
<button class="sqltoolbtn" onclick="showResultMessage();"><img src="Style/btn_message.gif" alt="" width="16" height="15" align="absmiddle" /> 消息</button>
<button class="sqltoolbtn" onclick="closeResult();"><img src="Style/sqltools_05.gif" alt="" width="16" height="15" align="absmiddle" /> 全屏 </button></td>
<td align="right"> </td>
</tr>
</table></td>
</tr>
<tr>
<td height="1" style="background-color:#808080;"></td>
</tr>
</table></td>
<td width="2" background="Style/sqltools_04.gif"></td>
</tr>
</table></td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" id="left3">
<tr>
<td><table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#D4D0C8">
<tr>
<td width="3" height="6"></td>
<td></td>
<td width="3"></td>
</tr>
<tr>
<td></td>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="2" height="2"><img src="Style/kuan2_01.gif" width="2" height="2" alt="" /></td>
<td background="Style/kuan2_02.gif"></td>
<td width="2"><img src="Style/kuan2_04.gif" width="2" height="2" alt="" /></td>
</tr>
<tr>
<td background="Style/kuan2_05.gif"></td>
<td valign="top">
<iframe id="txtsql" frameborder="no" src="sqlexec_textarea.aspx" style="height:250px;width:100%;
border:0px;" scrolling="no"></iframe>
<div class="fontsize1" style="background-image:url(Style/split1.gif);height:6px;"> </div>
<iframe id="resultTable" style="background-color:#FFFFFF;height:240px;width:100%;"
frameborder="no" src="blank.htm"></iframe>
<iframe id="resultMessage" style="background-color:#FFFFFF;height:240px;width:100%;"
frameborder="no" src="blank.htm"></iframe>
</td><td background="Style/kuan2_07.gif"></td>
</tr>
<tr>
<td height="2"><img src="Style/kuan2_10.gif" width="2" height="2" alt="" /></td>
<td background="Style/kuan2_11.gif"></td>
<td><img src="Style/kuan2_13.gif" width="2" height="2" alt="" /></td>
</tr>
</table></td>
<td></td>
</tr>
<tr>
<td height="5"></td>
<td></td>
<td></td>
</tr>
</table></td>
<td width="1" bgcolor="#808080"></td>
</tr>
<tr>
<td height="1" bgcolor="#808080"></td>
<td bgcolor="#808080"></td>
</tr>
</table></td>
</tr>
</table>
</form>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -