扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章给大家介绍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(Listlist) { 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
编号 | 姓名 | 性别 | 班级 | 操作(删除) | 操作(查看) | 操作(修改) |
---|
显示效果:
接着进行删除操作处理:
创建一个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如何进行增删改查 就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流