千家信息网

HttpHandler如何进行增删改查

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章给大家介绍HttpHandler如何进行增删改查 ,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。如果不是asp.net webform,怎么进行增删改查呢?首先:创建一个
千家信息网最后更新 2025年01月18日HttpHandler如何进行增删改查

这篇文章给大家介绍HttpHandler如何进行增删改查 ,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

如果不是asp.net webform,怎么进行增删改查呢?
首先:
创建一个SqlHelper.cs

public class SqlHelper    {        public static readonly string conString = ConfigurationManager.ConnectionStrings["sqlCon"].ConnectionString;        //增删改        public static bool ExeNonQuery(string sql, CommandType type, params SqlParameter[] lists)        {            bool bFlag = false;            using (SqlConnection con = new SqlConnection(conString))            {                SqlCommand cmd = new SqlCommand();                cmd.Connection = con;                cmd.CommandText = sql;                cmd.CommandType = type;                if (lists!=null)                {                    foreach (SqlParameter p in lists)                    {                        cmd.Parameters.Add(p);                    }                }                try                {                    if (con.State == ConnectionState.Closed)                    {                        con.Open();                    }                    int result = cmd.ExecuteNonQuery();                    if (result > 0)                    {                        bFlag = true;                    }                }                catch { ;}            }            return bFlag;        }        //查.读        public static SqlDataReader ExeDataReader(string sql, CommandType type, params SqlParameter[] lists)        {            SqlConnection con = new SqlConnection(conString);            SqlCommand cmd = new SqlCommand();            cmd.Connection = con;            cmd.CommandText = sql;            cmd.CommandType = type;            if (con.State == ConnectionState.Closed)            {                con.Open();            }            if (lists!=null)            {                foreach (SqlParameter p in lists)                {                    cmd.Parameters.Add(p);                }            }            SqlDataReader reader = cmd.ExecuteReader();            return reader;        }        //返回单个值        public static object GetScalar(string sql, CommandType type, params SqlParameter[] lists)        {            object returnValue = null;            using (SqlConnection con = new SqlConnection(conString))            {                SqlCommand cmd = new SqlCommand();                cmd.Connection = con;                cmd.CommandText = sql;                cmd.CommandType = type;                if (lists!=null)                {                    foreach (SqlParameter p in lists)                    {                        cmd.Parameters.Add(p);                    }                }                try                {                    if (con.State == ConnectionState.Closed)                    {                        con.Open();                    }                    returnValue = cmd.ExecuteScalar();                }                catch { ; }            }            return returnValue;        }        //事务        public static bool ExeNonQueryTran(List list)        {            bool flag = true;            SqlTransaction tran = null;            using (SqlConnection con = new SqlConnection(conString))            {                try                {                    if (con.State == ConnectionState.Closed)                    {                        con.Open();                        tran = con.BeginTransaction();                        foreach (SqlCommand com in list)                        {                            com.Connection = con;                            com.Transaction = tran;                            com.ExecuteNonQuery();                        }                        tran.Commit();                    }                }                catch (Exception ex)                {                    Console.Write(ex.Message);                    tran.Rollback();                    flag = false;                }            }            return flag;        }        //返回DataTable        public static DataTable GetTable(string sql)        {            SqlConnection conn = new SqlConnection(conString);            SqlDataAdapter da = new SqlDataAdapter(sql, conn);            DataTable table = new DataTable();            da.Fill(table);            return table;        }                                                          }

然后再Web.Config里面进行配置

                        

将要操作的表stus

创建一个html页面List.html

                {body}//这里是不是看不懂,先别急,往下看
编号 姓名 性别 班级 操作(删除) 操作(查看) 操作(修改)
接着创建一个一般处理程序List.ashxpublic class List : IHttpHandler { public void Proce***equest(HttpContext context) { context.Response.ContentType = "text/html"; // string path = context.Server.MapPath("List.html"); string strHtml = Commd.getFile("List.html"); context.Response.Write(strHtml.Replace("{body}", Getpost()));//把得到的数据和{body}进行替换 } string Getpost() { StringBuilder sb = new StringBuilder(); List list = getAll(); foreach (Stus stu in list) { sb.AppendFormat(""); sb.AppendFormat("" + stu.id + ""); sb.AppendFormat(""+stu.name+""); sb.AppendFormat("" + stu.sex + ""); sb.AppendFormat("" + stu.c_id + ""); sb.AppendFormat("删除",stu.id); sb.AppendFormat("查看", stu.id); sb.AppendFormat("修改", stu.id); sb.AppendFormat(""); } return sb.ToString(); } public List getAll()//查询得到所有的数据 { string sql=string.Format("select * from stus"); List list = new List(); IDataReader red = SqlHelper.ExeDataReader(sql, CommandType.Text, null); while (red.Read()) { Stus s = new Stus { id = int.Parse(red[0].ToString()), name = red[1].ToString(), sex = red[2].ToString(), c_id = int.Parse(red[3].ToString()) }; list.Add(s); } return list; } public class Stus//创建类 { public int id { get; set; } public string name { get; set; } public string sex { get; set; } public int c_id { get; set; } } public bool IsReusable { get { return false; } } }

显示效果:

接着进行删除操作处理:
创建一个Del.ashx处理删除

public class Del : IHttpHandler    {        public void Proce***equest(HttpContext context)        {            context.Response.ContentType = "text/html";            int id = int.Parse(context.Request["id"]);                if(onDel(id))                {                    context.Response.Redirect("List.ashx");                }        }        bool onDel(int id)        {            string sql = string.Format("delete from stus where id={0}",id);            return SqlHelper.ExeNonQuery(sql, CommandType.Text, null);        }        public bool IsReusable        {            get            {                return false;            }        }    }

效果:


已经被删除了
再接下来进行查看的操作,着里要创建一个Dils.ashx和Dils.html
先看 Dils.html页面

编号 姓名 性别 班级
{id} {name} {sex} {c_id}
返回

然后Dils.ashx进行处理:

public class Dils : IHttpHandler    {        public void Proce***equest(HttpContext context)        {            context.Response.ContentType = "text/html";            int id = int.Parse(context.Request["id"]);            string strHtml = Commd.getFile("Dils.html");            DataTable dt=getTable(id);            strHtml = strHtml.Replace("{id}", dt.Rows[0]["id"].ToString());            strHtml=strHtml.Replace("{name}",dt.Rows[0]["name"].ToString());            strHtml=strHtml.Replace("{sex}",dt.Rows[0]["sex"].ToString());            strHtml = strHtml.Replace("{c_id}", dt.Rows[0]["c_id"].ToString());            context.Response.Write(strHtml);        }        DataTable getTable(int id)        {            string sql = string.Format("select id,name,sex,c_id from stus where id={0}",id);            DataTable dt = SqlHelper.GetTable(sql);            return dt;        }        public bool IsReusable        {            get            {                return false;            }        }    }

效果:

最后来看看修改的操作:
这里先建立一个Edit.html页面:

编号 姓名 性别 班级

然后创建Edit.ashx和 EditPros.ashx来进行处理
Edit.ashx处理跟Dils.ashx差不多

public class Dils : IHttpHandler    {        public void Proce***equest(HttpContext context)        {            context.Response.ContentType = "text/html";            int id = int.Parse(context.Request["id"]);            string strHtml = Commd.getFile("Dils.html");            DataTable dt=getTable(id);            strHtml = strHtml.Replace("{id}", dt.Rows[0]["id"].ToString());            strHtml=strHtml.Replace("{name}",dt.Rows[0]["name"].ToString());            strHtml=strHtml.Replace("{sex}",dt.Rows[0]["sex"].ToString());            strHtml = strHtml.Replace("{c_id}", dt.Rows[0]["c_id"].ToString());            context.Response.Write(strHtml);        }        DataTable getTable(int id)        {            string sql = string.Format("select id,name,sex,c_id from stus where id={0}",id);            DataTable dt = SqlHelper.GetTable(sql);            return dt;        }        public bool IsReusable        {            get            {                return false;            }        }    }

效果:

当点了提交后,要在 EditPros.ashx进行处理

public class EditPros : IHttpHandler    {        public void Proce***equest(HttpContext context)        {            context.Response.ContentType = "text/plain";            int id=int.Parse(context.Request["id"]);            string name = context.Request["name"];            string sex = context.Request["sex"];            int c_id = int.Parse(context.Request["c_id"]);            if (onUp(id, name, sex, c_id))            {                context.Response.Redirect("List.ashx");            }        }        bool onUp(int id, string name, string sex, int c_id)        {            string sql = string.Format("update stus set name='{0}',sex='{1}',c_id={2} where id={3}", name, sex, c_id, id);            return SqlHelper.ExeNonQuery(sql,CommandType.Text,null);        }        public bool IsReusable        {            get            {                return false;            }        }    }

效果:



关于HttpHandler如何进行增删改查 就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0