Welcome 微信登录

首页 / 网页编程 / ASP.NET / 分页解决方案之数据访问函数库

分页解决方案之数据访问函数库2011-03-19 博客园 金色海洋如何访问数据库?一个老掉牙的问题,方法多了去了,什么直接使用ado.net、使用SQLHelp、使用微软的企业库、使用ORM、使用LinQ to SQL等等,还可以使用自己封装的函数库,这里我就想说一下我的数据访问函数库的使用方法。

您可能会说了,这么简单的东东还用说吗,重复制作轮子有意义吗?这个嘛,个人有个人的看法了,我也不多说了,先看使用方法吧。

1、删除一条数据,不使用事务

protected void Btn_Del_Click(object sender, EventArgs e)
{
//不用事务,直接删除数据
string sql = "delete from News_NewsInfo where newsID = 18 ";

//执行SQL语句
dal.ExecuteNonQuery(sql);

判断是否出现异常 和 是否真的删除了一条数据#region 判断是否出现异常 和 是否真的删除了一条数据
//判断是否出现异常
if (dal.ErrorMessage.Length > 0)
{
//出现了异常,客户端弹出提示信息
Functions.PageRegisterAlert(Page,"删除数据的时候发生异常,请与管理员联系!");
return;
}
//判断是否真的删除了一条数据
//ExecuteRowCount 会返回操作影响的行数(不包括select语句)
if (dal.ExecuteRowCount != 1)
{
//没有正确删除一条数据,客户端弹出提示信息
Functions.PageRegisterAlert(Page, "没有正确删除这条数据,请与管理员联系!");
return;
}
#endregion
}

2、删除多条数据,使用事务

protected void Btn_DelMore_Click(object sender, EventArgs e)
{
//使用事务,删除多个表里面的数据

//开启一个事务
dal.TranManager.TranBegin();

string sql = "delete from News_NewsInfo where newsID = 13 ";

//执行SQL语句
dal.ExecuteNonQuery(sql);

判断是否出现异常 和 是否真的删除了一条数据#region 判断是否出现异常 和 是否真的删除了一条数据
//判断是否出现异常
if (dal.ErrorMessage.Length > 0)
{
//出现了异常,客户端弹出提示信息
//数据访问函数库内部会自动回滚事务,外部不用回滚!
Functions.PageRegisterAlert(Page, "删除数据的时候发生异常,请与管理员联系!");
return;
}

//判断是否真的删除了一条数据
//ExecuteRowCount 会返回操作影响的行数(不包括select语句)
if (dal.ExecuteRowCount != 1)
{
//没有正确删除一条数据,客户端弹出提示信息
//没有产生异常,内部并没有自动回滚事务,所以请调用回滚的函数,回滚事务!
dal.TranManager.TranRollBack();
Functions.PageRegisterAlert(Page, "没有正确删除这条数据,请与管理员联系!");
return;
}
#endregion

sql = "delete from News_NewsInfo where newsID = 14 ";
//执行SQL语句
dal.ExecuteNonQuery(sql);

判断是否出现异常 和 是否真的删除了一条数据#region 判断是否出现异常 和 是否真的删除了一条数据
//判断是否出现异常
if (dal.ErrorMessage.Length > 0)
{
//出现了异常,客户端弹出提示信息
//数据访问函数库内部会自动回滚事务,外部不用回滚!
Functions.PageRegisterAlert(Page, "删除数据的时候发生异常,请与管理员联系!");
return;
}

//判断是否真的删除了一条数据
//ExecuteRowCount 会返回操作影响的行数(不包括select语句)
if (dal.ExecuteRowCount != 1)
{
//没有正确删除一条数据,客户端弹出提示信息
//没有产生异常,内部并没有自动回滚事务,所以请调用回滚的函数,回滚事务!
dal.TranManager.TranRollBack();
Functions.PageRegisterAlert(Page, "没有正确删除这条数据,请与管理员联系!");
return;
}
#endregion

//可以继续执行其他的操作,不仅仅是删除语句,insert、Update语句都可以执行。
//执行之后都要进行判断

//所有的操作都正确执行完毕之后,需要提交事务
dal.TranManager.TranCommit();

//注意,事务不支持嵌套!

}