当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net 执行事务代码

ASP.NET
asp.net Server.MapPath方法注意事项
asp.net下常用的加密算法MD5、SHA-1应用代码
几个 ASP.NET 小技巧
ASP.NET内置对象之Application对象
ASP.NET使用正则表达式屏蔽垃圾信息
asp.net“服务器应用程序不可用” 解决方法
asp.net Linq把数据导出到Excel的代码
asp.net ext treepanel 动态加载XML的实现方法
silverlight2.0Beta版TextBox输入中文解决方法
asp.net转出json格式客户端显示时间
asp.net下Linq To Sql注意事项小结
ASP.NET动态加载用户控件的实现方法
asp.net web大文件上传带进度条实例代码
asp.net DZ论坛中根据IP地址取得所在地的代码
向asp.Net进发 数据库连接操作
.net 上传文件前所未有的简单
asp.net gridview代码绑定
asp.net中List的使用方法
Asp.net(C#)实现验证码功能代码
asp.NET开发中正则表达式中BUG分析

ASP.NET 中的 asp.net 执行事务代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 231 ::
收藏到网摘: n/a

asp.net 执行事务的实现代码 //数据库执行区,
SqlConnection _sqlConn = null;
SqlTransaction _SqlTrans = null;
try
{
//数据库操作类
_sqlConn = System.mySQLConnection.SqlConnections.GetSQLConnection();//见下面的类
_sqlConn.Open();
// sql事务对象
_SqlTrans = _sqlConn.BeginTransaction();
//基本信息执行SQL语句情况
bool StudentInfo_YN = false;
if (hid_StudentIDValue == "")
{
StudentInfo_YN = (System.mySQLConnection.SqlConnections.UpdateOrDelete(_sqlConn, _SqlTrans, sql语句) > 0) ? true : false;
}
else
{
StudentInfo_YN = true;
}
bool baoMing_YN = false;
//报名基本信息执行SQL语句情况
if (StudentInfo_YN)
{
//获取报名的o_flowid号,由数据库产生
baoMing_YN = (System.mySQLConnection.SqlConnections.UpdateOrDelete(_sqlConn, _SqlTrans, sql语句) > 0) ? true : false;
}
else
{
baoMing_YN = false;
}
bool baomingdetail_YN = false;
//报名的课程详细信息执行SQL语句情况
if (baoMing_YN)
{
baomingdetail_YN = (System.mySQLConnection.SqlConnections.UpdateOrDelete(_sqlConn, _SqlTrans, sql语句) > 0) ? true : false;
}
else
{
baomingdetail_YN = false;
}
//收费表SQL语句情况
//if (baoMing_YN)
//{
// baomingdetail_YN = (System.mySQLConnection.SqlConnections.UpdateOrDelete(_sqlConn, _SqlTrans, sql语句) > 0) ? true : false;
//}
//else
//{
// baomingdetail_YN = false;
//}
//总的判断全部释放成功。
if (baomingdetail_YN)
{
//提交事务,清除Session验证码
_SqlTrans.Commit();
MessageBox.alert(Page, "报名成功。", "window.location.href='addBaoMing.aspx'");
}
else
{
_SqlTrans.Rollback();
MessageBox.alert(Page, "报名失败。");
return;
}
}
catch (SqlException sqlE)
{
MessageBox.alert(Page, "提交异常 " + sqlE.Message.Replace("\"", "'"));
}
finally
{
if (_sqlConn != null)
_sqlConn.Close();
if (_SqlTrans != null)
_SqlTrans.Dispose();
}
写在SqlConnections的类中(一般放在app_code,也可放在三层架构的类中)
//当前连接的是第几个。
static int count = 0;
//最大连接量
static int maxCount = 30;
static SqlConnection[] sqlConns = new SqlConnection[maxCount];
//自己创建自己
static SqlConnections myConn = new SqlConnections();
//初始化
private SqlConnections()
{
for (int i = 0; i < maxCount; i++)
{
sqlConns[i] = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ADOStr"].ToString());
}
}
// 获取数据库连接
public static int UpdateOrDelete(String sqlTxt)
{
SqlConnection sqlConnTemp = SqlConnections.GetSQLConnection();
try
{
SqlCommand sqlCommT = new SqlCommand(sqlTxt, sqlConnTemp);
sqlConnTemp.Open();
return sqlCommT.ExecuteNonQuery();
}
catch (SqlException sqlE)
{
return 0;
}
finally
{
sqlConnTemp.Close();
}
}
public static SqlConnection GetSQLConnection()
{
try
{
try
{
sqlConns[count].Close();
}
catch (Exception eeX)
{
}
return sqlConns[count];
}
finally
{
//当前个数自加。。
if (count == (maxCount - 1))
{
count = 0;
}
else
{
count++;
}
}
}