📄 editstoredprocedure.aspx.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 EditStoredProcedure.
/// </summary>
public class EditStoredProcedure : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox SProcTextTextbox;
protected System.Web.UI.WebControls.Button SaveButton;
protected System.Web.UI.WebControls.Label SProcNameLabel;
protected System.Web.UI.WebControls.Label SProcOwnerLabel;
protected System.Web.UI.WebControls.Label SProcCreateDateLabel;
protected System.Web.UI.WebControls.Button CancelButton;
protected System.Web.UI.WebControls.Label ErrorLabel;
public EditStoredProcedure()
{
Page.Init += new System.EventHandler(Page_Init);
}
private void Page_Load(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 sprocName = Request["sproc"];
if (!IsPostBack)
{
// Check to see if SProc is new or it already exists
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;
}
SqlStoredProcedure sproc = database.StoredProcedures[sprocName];
if (sproc == null)
{
// SProc is new, create template
SProcNameLabel.Text = Server.HtmlEncode(sprocName);
SProcOwnerLabel.Text = "";
SProcCreateDateLabel.Text = "";
SProcTextTextbox.Text = String.Format("CREATE PROCEDURE [dbo].[{0}] AS", sprocName);
}
else
{
// SProc already exists, load it from database
SProcNameLabel.Text = Server.HtmlEncode(sproc.Name);
SProcOwnerLabel.Text = Server.HtmlEncode(sproc.Owner);
SProcCreateDateLabel.Text = Server.HtmlEncode(Convert.ToString(sproc.CreateDate));
SProcTextTextbox.Text = sproc.Text;
}
server.Disconnect();
}
}
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.SaveButton.Click += new System.EventHandler(this.SaveButton_Click);
this.CancelButton.Click += new System.EventHandler(this.CancelButton_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void SaveButton_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 sprocName = Request["sproc"];
bool success = true;
server.Connect();
Exception ex = null;
try
{
// Check to see if SProc is new or it already exists
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;
}
SqlStoredProcedureCollection sprocs = database.StoredProcedures;
SqlStoredProcedure sproc = sprocs[sprocName];
if (sproc == null)
{
// SProc is new, so create entirely new SProc (don't care about return value)
sprocs.Add(sprocName, SProcTextTextbox.Text);
}
else
{
// SProc already exists, just update its text
sproc.Text = SProcTextTextbox.Text;
}
}
catch (Exception ex2)
{
ex = ex2;
success = false;
}
server.Disconnect();
if (success)
{
// Redirect back to SProc page
Response.Redirect("StoredProcedures.aspx?database=" + Server.UrlEncode(Request["database"]));
}
else
{
// show error
ErrorLabel.Visible = true;
ErrorLabel.Text = "There was an error saving the stored procedure.<br>" + Server.HtmlEncode(ex.Message).Replace("\n", "<br>");
}
}
private void CancelButton_Click(object sender, System.EventArgs e)
{
Response.Redirect("StoredProcedures.aspx?database=" + Server.UrlEncode(Request["database"]));
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -