.Net和SqlServer的事务处理实例
来源:互联网 发布:诸神黄昏女神进阶数据 编辑:程序博客网 时间:2024/05/18 04:24
1,SqlServer存储过程的事务处理
一种比较通用的出错处理的模式大概如下:
Create procdure prInsertProducts
(
@intProductId int,
@chvProductName varchar(30),
@intProductCount int
)
AS
Declare @intErrorCode int
Select @intErrorCode=@@Error
Begin transaction
if @intErrorCode=0
begin
-insert products
insert products(ProductID,ProductName,ProductCount)
values(@intProductId,@chvProductName,@intProductCount)
Select @intErrorCode=@@Error --每执行完一条t-sql语句马上进行检测,并把错误号保存到局部变量中
end
if @intErrorCode=0
begin
-update products
update products set ProductName='MicroComputer' where ProductID=5
Select @intErrorCode=@@Error
end
if @intErrorCode=0
commit transaction
else
rollback transaction
Return @intErrorCode --最好返回错误代号给调用的存储过程或应用程序
2,.Net中使用事务处理
SqlConnection myConnection = new SqlConnection("Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI;");
myConnection.Open();
SqlTransaction myTrans = myConnection.BeginTransaction(); //使用New新生成一个事务
SqlCommand myCommand = new SqlCommand();
myCommand.Transaction = myTrans;
try
{
myCommand.CommandText = "Update Address set location='23 rain street' where userid='0001'";
myCommand.ExecuteNonQuery();
myTrans.Commit();
Console.WriteLine("Record is udated.");
}
catch(Exception e)
{
myTrans.Rollback();
Console.WriteLine(e.ToString());
Console.WriteLine("Sorry, Record can not be updated.");
}
finally
{
myConnection.Close();
}
说明:在SqlServer中,每条Sql语句都作为一个事务来执行,所以无论在存储过程,还是在.net代码中使用,执行单条Sql语句没有必要使用事务处理,上面只是为了简化表达而对单条Sql语句使用事务处理
- .Net和SqlServer的事务处理实例
- .Net和SqlServer的事务处理实例
- .Net和SqlServer的事务处理实例 收藏
- .Net和SqlServer的事务处理实例
- Sqlserver的事务处理
- 使用ADO.NET配置SQLServer事务处理
- .NET的事务处理
- sqlserver事务处理
- SQLserver事务处理
- SQLServer 存储过程 带事务处理实例(一)
- SQLServer 存储过程 带事务处理实例(二)
- SQLServer 存储过程 带事务处理实例(三)
- SQLServer 存储过程 带事务处理实例(四)
- 关于ADO 连接 SQLServer的事务处理。
- SqlServer数据库的存储过程以及事务处理
- redis和sqlserver和.net的关联
- ASP.NET里的事务处理
- ASP.NET里的事务处理
- .NET Remoting 安全性
- 存储过程事务处理
- 日志(2006.09)
- 自动备份SQL Server数据库中用户创建的Stored Procedures
- 计划(2006.09)
- .Net和SqlServer的事务处理实例
- c语言之函数参数传递之数组篇
- 比较难的面试题
- javascript实现划词标记+划词搜索功能
- g.729a 音频编解码算法
- java | 代理 | AOP
- ADO.NET 命名规则参考
- 学习中......
- Torque游戏引擎TGE/TGB中文输入的问题解决方案(含代码下载)