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
| 编号 | 姓名 | 性别 | 班级 | 操作(删除) | 操作(查看) | 操作(修改) |
|---|
显示效果:
接着进行删除操作处理:
创建一个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如何进行增删改查 就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
分享题目:HttpHandler如何进行增删改查
分享路径:http://www.jxjierui.cn/article/ghcgep.html


咨询
建站咨询
