📄 sqlcommand.ascx.cs
字号:
namespace Seaskyer.WebApp.skyNews.Pages.AdminMSC
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;
/// <summary>
/// SqlCommand : Sql Command 管理器。
/// </summary>
public class SqlCommand : basePage
{
protected Panel ScreenForm, ConsoleForm, DoSqlForm;
protected string errmsg = "", str_sbody = "", strSql = "";
protected Label Label1, pageinfo;
protected HtmlGenericControl info;
protected DataGrid selectGrid;
private void Page_Load(object sender, System.EventArgs e)
{
if( !power.GPB("Manage") && !user.IsAdmin )
{
base.strError.Add("您无权执行 “" + lang.AppName + "” 操作,详情请与管理员联系!");
return;
}
else
{
this.initPage();
}
string action = Request.QueryString["action"];
switch( action )
{
case "screen" : // 操作结果显示
this.ScreenPage();
break;
case "console" : // 控制台主程序
this.ConsolePage();
break;
case "dosql" : // 操作过程处理
this.DoSqlPage();
break;
default : // 默认为控制台主程序
this.ConsolePage();
break;
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
void initPage()
{
ScreenForm.Visible = false;
ConsoleForm.Visible = false;
DoSqlForm.Visible = false;
}
/// <summary>
/// 操作结果显示
/// </summary>
void ScreenPage()
{
ScreenForm.Visible = true;
}
/// <summary>
/// 默认为控制台主程序
/// </summary>
void ConsolePage()
{
ConsoleForm.Visible = true;
}
/// <summary>
/// 操作过程处理
/// </summary>
void DoSqlPage()
{
DoSqlForm.Visible = true;
strSql = Request.Params["body"];
if( !user.CheckValiable(strSql) ) return;
//info.InnerHtml = strSql;
//Response.Write(selectCommand + "," + updateCommand + "," + insertCommand + "," + deleteCommand);
//Response.Write(selectCommand);
//Response.End();
if( strSql.ToLower().StartsWith("select") )
{
doSelect(strSql); // 提取数据
}
else if( strSql.ToLower().StartsWith("update") )
{
doUpdate(strSql); // 更新数据
}
else if( strSql.ToLower().StartsWith("insert") )
{
doInsert(strSql); // 插入数据
}
else if( strSql.ToLower().StartsWith("delete") )
{
doDelete(strSql); // 删除数据
}
else if( strSql.ToLower().StartsWith("struct") )
{
doStruct(strSql); // 获取数据类型结构
}
else if( strSql.ToLower() == "cls" )
{
doCLS(); // 清屏操作
return;
}
//string body = "<blockquote>" + Request.Params["body"].ToString() + "</blockquote>";
//Response.Write("<" + "script>alert('" + Request.Params["body"].ToString() + "');<" + "/script>");
// if( Object.Equals(Request.QueryString["cmd"], "command1") )
// {
// Page.RegisterStartupScript("transfer", "<script language=\"javascript\">parent.commandScreen.document.all.navi.innerHTML += '' + info.innerHTML + ''; </" + "script>");
// }
// else
// {
// }
//Page.RegisterStartupScript("transfer", "<script language=\"javascript\">parent.commandScreen.document.all.navi.innerHTML += '' + info.innerHTML + ''; parent.commandScreen.location.href = '/skyNews/Admin/SqlCommand.aspx?&action=screen#" + Request.QueryString["cmd"] + "';</" + "script>");
Label1.Text = "<" + "script>parent.commandScreen.document.all." + Request.QueryString["cmd"] + "_output.innerHTML += '' + info.innerHTML + ''; parent.commandScreen.location.href = '/skyNews/Admin/SqlCommand.aspx?&action=screen#" + Request.QueryString["cmd"] + "';<" + "/script>";
dp.Dispose();
}
#region 操作过程处理
//执行 Select 操作语句的
protected void doSelect(string sql)
{
try
{
dp.CommandText = sql;
DataTable dt = dp.DataTableSQL();
selectGrid.DataSource = dt.DefaultView;
selectGrid.DataBind();
selectGrid.Visible = true;
pageinfo.Visible = true;
pageinfo.Text = "<font color=blue>操作成功! </font>操作语句:" + sql + "<br><br>共提取符合条件的记录 <font color=red>" + dt.Rows.Count + "</font> 条";
dt.Clear();
dt.Dispose();
}
catch(Exception exc)
{
selectGrid.Visible = false;
pageinfo.Visible = true;
pageinfo.Text = "<font color=red>数据库操作错误! </font>操作语句:" + sql + "<br><br><table cellSpacing=\"1\" cellPadding=\"5\" width=\"95%\" align=\"center\" border=\"0\" bgcolor=#0099CC><tr><td bgcolor=#F2F8FF>" + exc.ToString() + "</td></tr></table>";
}
}
//执行 Update 操作语句的
protected void doUpdate(string sql)
{
try
{
dp.CommandText = sql;
int data = dp.NonQuerySQL();
selectGrid.Visible = false;
pageinfo.Visible = true;
pageinfo.Text = "<font color=blue>更新数据操作成功! </font>操作语句:" + sql + "<br><br>共更新符合条件的记录 <font color=red>" + data + "</font> 条";
}
catch(Exception exc)
{
selectGrid.Visible = false;
pageinfo.Visible = true;
pageinfo.Text = "<font color=red>数据库操作错误! </font>操作语句:" + sql + "<br><br><table cellSpacing=\"1\" cellPadding=\"5\" width=\"95%\" align=\"center\" border=\"0\" bgcolor=><tr><td bgcolor=>" + exc.ToString() + "</td></tr></table>";
}
}
//执行 Insert 操作语句的
protected void doInsert(string sql)
{
try
{
dp.CommandText = sql;
int data = dp.NonQuerySQL();
selectGrid.Visible = false;
pageinfo.Visible = true;
pageinfo.Text = "<font color=blue>添加数据操作成功! </font>操作语句:" + sql + "<br><br>共添加 <font color=red>" + data + "</font> 条记录";
}
catch(Exception exc)
{
selectGrid.Visible = false;
pageinfo.Visible = true;
pageinfo.Text = "<font color=red>数据库操作错误! </font>操作语句:" + sql + "<br><br><table cellSpacing=\"1\" cellPadding=\"5\" width=\"95%\" align=\"center\" border=\"0\" bgcolor=><tr><td bgcolor=>" + exc.ToString() + "</td></tr></table>";
}
}
//执行 Delete 操作语句的
protected void doDelete(string sql)
{
try
{
dp.CommandText = sql;
int data = dp.NonQuerySQL();
selectGrid.Visible = false;
pageinfo.Visible = true;
pageinfo.Text = "<font color=blue>删除操作成功! </font>操作语句:" + sql + "<br><br>共删除符合条件的记录 <font color=red>" + data + "</font> 条";
}
catch(Exception exc)
{
selectGrid.Visible = false;
pageinfo.Visible = true;
pageinfo.Text = "<font color=red>数据库操作错误! </font>操作语句:" + sql + "<br><br><table cellSpacing=\"1\" cellPadding=\"5\" width=\"95%\" align=\"center\" border=\"0\" bgcolor=><tr><td bgcolor=>" + exc.ToString() + "</td></tr></table>";
}
}
//执行 Struct 操作语句的
protected void doStruct(string sql)
{
//sql = sql.Substring(5, sql.Length);
//sql = "select" + sql;
try
{
Regex r = new Regex("struct", RegexOptions.IgnoreCase|RegexOptions.Compiled);
string strsql = r.Replace(sql, "select top 1");
dp.CommandText = strsql;
DataTable dt = dp.StructSQL();
selectGrid.DataSource = dt.DefaultView;
selectGrid.DataBind();
selectGrid.Visible = true;
pageinfo.Visible = true;
pageinfo.Text = "<font color=blue>操作成功! </font>操作语句:" + sql + "<br><br>共提取符合条件的字段 <font color=red>" + dt.Rows.Count + "</font> 个";
dt.Clear();
dt.Dispose();
}
catch(Exception exc)
{
selectGrid.Visible = false;
pageinfo.Visible = true;
pageinfo.Text = "<font color=red>数据库操作错误! </font>操作语句:" + sql + "<br><br><table cellSpacing=\"1\" cellPadding=\"5\" width=\"95%\" align=\"center\" border=\"0\" bgcolor=#0099CC><tr><td bgcolor=#F2F8FF>" + exc.ToString() + "</td></tr></table>";
}
}
// 执行清屏操作
protected void doCLS()
{
Label1.Text = "<" + "script>parent.commandScreen.location.href = '/skyNews/Admin/SqlCommand.aspx?action=screen';<" + "/script>";
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -