📄 admin_class.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 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 + -