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

📄 storedprocedures.aspx.cs

📁 wrox c#高级编程
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

using SqlAdmin;

namespace SqlWebAdmin
{
    /// <summary>
    /// Summary description for StoredProcedures.
    /// </summary>
    public class StoredProcedures : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.DropDownList SProcTypeDropDownList;
        protected System.Web.UI.WebControls.Button FilterSProcsButton;
        protected System.Web.UI.WebControls.Label SProcTypeErrorLabel;
        protected System.Web.UI.WebControls.DataGrid SProcsDataGrid;
        protected System.Web.UI.WebControls.HyperLink AddNewSProcHyperLink;

        public StoredProcedures()
        {
            Page.Init += new System.EventHandler(Page_Init);
        }

        private void Page_Load(object sender, System.EventArgs e)
        {
            FilterSProcsButton_Click(null, null);
        }

        private void Page_Init(object sender, EventArgs e)
        {
            //
            // CODEGEN: This call is required by the ASP.NET Web Form Designer.
            //
            InitializeComponent();
        }

        #region Web Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.Load += new System.EventHandler(this.Page_Load);
            FilterSProcsButton.Click += new System.EventHandler(this.FilterSProcsButton_Click);
        }
        #endregion

        private void FilterSProcsButton_Click(object sender, System.EventArgs e)
        {
            HttpCookie cookie = Request.Cookies["WebDataAdministrator"];
            if (cookie == null)
                Response.Redirect("default.aspx?error=sessionexpired");

            SqlServer server = new SqlServer(cookie.Values["server"], cookie.Values["username"], cookie.Values["password"]);

            string databaseName = Request["database"];

            SqlObjectType objectTypeFilter;
            switch (SProcTypeDropDownList.SelectedIndex)
            {
                case 0:
                    objectTypeFilter = SqlObjectType.User;
                    break;
                case 1:
                    objectTypeFilter = SqlObjectType.User | SqlObjectType.System;
                    break;
                default:
                    throw new Exception("Invalid SProcType selected");
            }

            // Get stored procedure list
            server.Connect();

            SqlDatabase database = server.Databases[Request["database"]];
            if (database == null) {
                server.Disconnect();

                // Database doesn't exist - break out and go to error page
                Response.Redirect(String.Format("error.aspx?error={0}", 1000));
                return;
            }

            AddNewSProcHyperLink.NavigateUrl = String.Format("createstoredprocedure.aspx?database={0}", Server.UrlEncode(Request["database"]));

            SqlStoredProcedureCollection sprocs = database.StoredProcedures;
            server.Disconnect();

            // Create DataSet from result
            DataSet ds = new DataSet();
            ds.Tables.Add();
            ds.Tables[0].Columns.Add("name");
            ds.Tables[0].Columns.Add("encodedname");
            ds.Tables[0].Columns.Add("owner");
            ds.Tables[0].Columns.Add("type");
            ds.Tables[0].Columns.Add("createdate");
            for (int i = 0; i < sprocs.Count; i++) {
                SqlStoredProcedure sproc = sprocs[i];

                // Only add objects that we want (system or user)
                if ((sproc.StoredProcedureType & objectTypeFilter) > 0)
                    ds.Tables[0].Rows.Add(new object[] {Server.HtmlEncode(sproc.Name), Server.UrlEncode(sproc.Name), Server.HtmlEncode(sproc.Owner), Server.HtmlEncode(sproc.StoredProcedureType.ToString()), Server.HtmlEncode(sproc.CreateDate.ToString())});
            }

            // Show message if there are no tables, otherwise show datagrid
            if (ds.Tables[0].Rows.Count == 0) {
                SProcsDataGrid.Visible = false;
                SProcTypeErrorLabel.Visible = true;
            }
            else {
                SProcTypeErrorLabel.Visible = false;
                SProcsDataGrid.Visible = true;

                SProcsDataGrid.DataSource = ds;
                SProcsDataGrid.DataBind();
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -