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

📄 admin_class.aspx.cs

📁 非常完整的新闻发布系统
💻 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 System.Data.SqlClient;
using System.Configuration;

namespace WebNews.admin
{
	/// <summary>
	/// admin_class 的摘要说明。
	/// </summary>
	public class admin_class : System.Web.UI.Page
	{
		protected System.Data.SqlClient.SqlConnection SqlConnection1;//数据库的操作对象
		protected System.Data.SqlClient.SqlDataAdapter SqlDataAdapter1;
		protected System.Data.DataSet DataSet1;
		protected System.Data.SqlClient.SqlCommand SqlCommand1;
		protected System.Data.SqlClient.SqlDataReader SqlDataReader1;

		protected System.Web.UI.WebControls.DataGrid MyDataGrid;
		protected System.Web.UI.WebControls.Label myLabel;
		protected System.Web.UI.WebControls.Label lblCurrentIndex;
		protected System.Web.UI.WebControls.Label lblPageCount;		
		protected System.Web.UI.WebControls.LinkButton btnFirst;
		protected System.Web.UI.WebControls.LinkButton LinkButton2;
		protected System.Web.UI.WebControls.LinkButton LinkButton1;
		protected System.Web.UI.WebControls.LinkButton LinkButton3;
		protected System.Web.UI.WebControls.Button Submit;
		protected System.Web.UI.WebControls.RegularExpressionValidator RegularExpressionValidator;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator;
		protected System.Web.UI.WebControls.TextBox ClassName;		
		public string oldclass;

		private void Page_Load(object sender, System.EventArgs e)
		{
			// 在此处放置用户代码以初始化页面
			if(!Page.IsPostBack)
			{
				string userclass;
				userclass=(string)Session["userclass"];
				ClassName.Text="请输入分类名";
				if(userclass.Trim()=="系统管理员")
				{
					getClass();
				}
				else
				{
					Page.Visible=false;
				}				
			}		        
		}

		private void getClass()				   //得到新闻分类
		{
			SqlConnection1 = new SqlConnection(ConfigurationSettings.AppSettings["dsn"]);
			SqlDataAdapter1 = new SqlDataAdapter();
			SqlDataAdapter1.SelectCommand=new SqlCommand("sp_selFclassAll",SqlConnection1);
			SqlDataAdapter1.SelectCommand.CommandType=CommandType.StoredProcedure ;
			DataSet1=new DataSet();		
			try
			{
				SqlDataAdapter1.Fill(DataSet1,"class");
			}
			catch (SqlException e1)
			{
				myLabel.Text ="数据库操作错误:"+e1.Message;				
			}
			MyDataGrid.DataSource=DataSet1;
			MyDataGrid.DataBind();
			lblCurrentIndex.Text="第"+((Int32)MyDataGrid.CurrentPageIndex+1)+"页";
			lblPageCount.Text="/共"+MyDataGrid.PageCount+"页";
		}

		private void updateArticle(string a,string b)				  //把所有具有原分类的文章分类名改成现有分类
		{
			SqlConnection1 = new SqlConnection(ConfigurationSettings.AppSettings["dsn"]);
			SqlCommand1=new SqlCommand("sp_updateArticleByClass",SqlConnection1); 
			SqlCommand1.CommandType=CommandType.StoredProcedure;
			SqlCommand1.Parameters.Add("@className",SqlDbType.Char,200);
			SqlCommand1.Parameters["@className"].Value = a.Trim();
			SqlCommand1.Parameters.Add("@oldclassname",SqlDbType.Char,200);
			SqlCommand1.Parameters["@oldclassname"].Value = b.Trim();
			try
			{
				SqlConnection1.Open();
				int i=SqlCommand1.ExecuteNonQuery();
				if(i>0)
				{
					myLabel.Text="操作成功";
				}						
			}
			catch (SqlException e1)
			{
				myLabel.Text ="数据库操作错误:"+e1.Message;
			}
			finally
			{
				SqlConnection1.Close();			
			}	
		}
	
		public	void PagerButtonClick(Object sender, EventArgs e)
		{
			string arg = ((LinkButton)sender).CommandArgument;
			switch(arg)
			{
				case ("next"):
					if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
						MyDataGrid.CurrentPageIndex ++;
					break;
				case ("prev"):
					if (MyDataGrid.CurrentPageIndex > 0)
						MyDataGrid.CurrentPageIndex --;
					break;
				case ("last"):
					MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
					break;
				case("first"):
					MyDataGrid.CurrentPageIndex =0;
					break;
			}
			getClass();
		}

		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.Submit.Click += new System.EventHandler(this.Submit_Click);
			this.MyDataGrid.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.MyDataGrid_CancelCommand);
			this.MyDataGrid.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.MyDataGrid_EditCommand);
			this.MyDataGrid.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.MyDataGrid_UpdateCommand);
			this.MyDataGrid.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.MyDataGrid_DeleteCommand);
			this.btnFirst.Click += new System.EventHandler(this.PagerButtonClick);
			this.LinkButton2.Click += new System.EventHandler(this.PagerButtonClick);
			this.LinkButton1.Click += new System.EventHandler(this.PagerButtonClick);
			this.LinkButton3.Click += new System.EventHandler(this.PagerButtonClick);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		public void MyDataGrid_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) //没有改好
		{
			TextBox classname=(TextBox)e.Item.FindControl("TextBox1");	//取得TextBox中的控件值
			string clne=classname.Text.Trim();				
			string oldname=(string)Session["oldclass"];
			ClassName.Text = classname.Text.Trim();					
			if(Page.IsValid)
			{					
				if(clne==oldname)													
				{
					myLabel.Text="你分类名没改,没必要修改!";			   //分类没改,则不必修改
				}
				else
				{
					SqlConnection1 = new SqlConnection(ConfigurationSettings.AppSettings["dsn"]);//建立连接
					SqlCommand1=new SqlCommand("sp_selFclass",SqlConnection1); 
					SqlCommand1.CommandType=CommandType.StoredProcedure;
					SqlCommand1.Parameters.Add("@classname",SqlDbType.Char,200);
					SqlCommand1.Parameters["@classname"].Value =classname.Text;   
					try
					{
						SqlConnection1.Open();
						SqlDataReader1=SqlCommand1.ExecuteReader();	
						if(SqlDataReader1.Read()==true)				//如分类名已有,重输 
						{
							myLabel.Text="已有此分类名,请重新输入一个!!";
						}
						else
						{
							SqlDataReader1.Close();
							SqlCommand1=new SqlCommand("sp_updateClass",SqlConnection1); 
							SqlCommand1.CommandType=CommandType.StoredProcedure;
							SqlCommand1.Parameters.Add("@className",SqlDbType.Char,200);
							SqlCommand1.Parameters["@className"].Value = clne.Trim();
							SqlCommand1.Parameters.Add("@oldclassname",SqlDbType.Char,200);
							SqlCommand1.Parameters["@oldclassname"].Value = oldname.Trim();
							try
							{
								int i=SqlCommand1.ExecuteNonQuery();
								if(i>0)
								{
									myLabel.Text = "更新成功!";
									updateArticle(clne.Trim(),oldname.Trim())	;
									MyDataGrid.EditItemIndex = -1;		//回到编辑状态								
									getClass();		
								}						
							}
							catch (SqlException e1)
							{
								myLabel.Text ="数据库操作错误:分类中还存有新闻,把新闻清空或转移后再试!!"+e1.Message;
							}
						}
					}
					catch (SqlException e1)
					{
						myLabel.Text ="数据库操作错误:"+e1.Message;
					}
					finally
					{
						SqlDataReader1.Close();
						SqlConnection1.Close();
					}
				}
			}
		}

		public void MyDataGrid_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
		{
            string num=e.Item.Cells[1].Text.Trim();	   //取得文章数	
			if(num!="0")								 //验证分类是否有文章 
			{
				myLabel.Text="你不能删除有文章数的分类!";
			}
			else
			{
				SqlConnection1 = new SqlConnection(ConfigurationSettings.AppSettings["dsn"]);
				SqlCommand1=new SqlCommand("sp_delClass",SqlConnection1); 
				SqlCommand1.CommandType=CommandType.StoredProcedure;
				SqlCommand1.Parameters.Add("@classId",SqlDbType.BigInt);
				SqlCommand1.Parameters["@classId"].Value = MyDataGrid.DataKeys[e.Item.ItemIndex];
				try
				{
					SqlConnection1.Open();
					int i=SqlCommand1.ExecuteNonQuery();
					if(i>0)
					{
						myLabel.Text="删除成功";
					}						
				}
				catch (SqlException e1)
				{
					myLabel.Text ="数据库操作错误:"+e1.Message;
				}
				finally
				{
					SqlConnection1.Close();			
				}	
			    getClass();
			}
		}

		public void MyDataGrid_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
		{
			this.MyDataGrid.EditItemIndex = -1;			
			getClass();
		}

		public void MyDataGrid_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
		{
			MyDataGrid.EditItemIndex = e.Item.ItemIndex;
			Label classname=(Label)e.Item.FindControl("Label1");
			Session["oldclass"]= classname.Text.Trim();			
			ClassName.Text = classname.Text.Trim();			//为了通过验证,设置输入框中的值
			getClass();			
		}

		private void Submit_Click(object sender, System.EventArgs e)
		{
			if(Page.IsValid)
			{
				SqlConnection1 = new SqlConnection(ConfigurationSettings.AppSettings["dsn"]);//建立连接
				SqlCommand1=new SqlCommand("sp_selFclass",SqlConnection1); 
				SqlCommand1.CommandType=CommandType.StoredProcedure;
				SqlCommand1.Parameters.Add("@classname",SqlDbType.Char,200);
				SqlCommand1.Parameters["@classname"].Value =ClassName.Text.Trim();   
				try
				{
					SqlConnection1.Open();
					SqlDataReader1=SqlCommand1.ExecuteReader();	
					if(SqlDataReader1.Read()==true)   
					{
						myLabel.Text="已有此分类,请重新输入名字!";
						SqlDataReader1.Close();
					}
					else
					{
						SqlDataReader1.Close();
						SqlCommand1=new SqlCommand("sp_addFclass",SqlConnection1); 
						SqlCommand1.CommandType=CommandType.StoredProcedure;
						SqlCommand1.Parameters.Add("@classname",SqlDbType.Char,200);
						SqlCommand1.Parameters["@classname"].Value =ClassName.Text.Trim();  				
						SqlCommand1.ExecuteNonQuery() ;				   //增加一个新分类
						myLabel.Text="添加分类成功!";					
					}
				}
				catch (SqlException e1)
				{
					myLabel.Text ="数据库操作错误:"+e1.Message;
				}
				finally
				{
					SqlConnection1.Close();
				}
				getClass();
			}
		}

	}
}

⌨️ 快捷键说明

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