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
HttpHandler如何进行增删改查
创建一个html页面List.html




    
    
    
        $(function () {
            $("a:contains('删除')").click(function () {
                if (!confirm("你确定要删除么")) {
                    return false;
                }
            })
        })
    




编号
        姓名
        性别
        班级
        操作(删除)
        操作(查看)
        操作(修改)

    {body}//这里是不是看不懂,先别急,往下看



 接着创建一个一般处理程序List.ashx
public 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;
            }
        }
    }

显示效果:
HttpHandler如何进行增删改查
接着进行删除操作处理:
创建一个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;
            }
        }
    }

效果:
HttpHandler如何进行增删改查
HttpHandler如何进行增删改查
已经被删除了
再接下来进行查看的操作,着里要创建一个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;
            }
        }
    }

效果:
HttpHandler如何进行增删改查
最后来看看修改的操作:
这里先建立一个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;
            }
        }
    }

效果:
HttpHandler如何进行增删改查
当点了提交后,要在 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如何进行增删改查

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


文章名称:HttpHandler如何进行增删改查
标题来源:http://ybzwz.com/article/ghcgep.html