⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqlcommand.ascx.cs

📁 这是我编的一小软件。请等级等待指教。呵呵。ASP的
💻 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 + -