分页解决方案之数据访问函数库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();
//注意,事务不支持嵌套!
}