ASP.NET事务存储过程

--修改存储过程
alter proc proc_get_student
as
select * from student;

asp.net 的事务就是针对数据层来处理的呀!
没有数据处理不能使用事务
-------------------------------------
string sql = "update table set ***** where *****"; //  sql 语句或者 存储过程名称
SqlConnection con = new SqlConnection(strConnString);
if (con.State == ConnectionState.Closed) con.Open(); /****** 必须打开连接 ******/
 SqlTransaction tran = con.BeginTransaction(); /***** 开始一个事务 *****/
SqlCommand cmd = new SqlCommand(sql,con);
try
{
cmd. Transaction = tran;
cmd.ExecuteNoQuery(); /**** 执行语句 ****/
tran.Commit(); /**** 提交事务 ****/
}
catch(SqlException sqlEx)
{
tran.Rollback();
System.Web.HttpContext.Current.Server.ClearError(); // 清除当前的异常信息
}
catch(Exception sysEx)
{
tran.Rollback();
System.Web.HttpContext.Current.Server.ClearError();
}
finally
{
con.close(); /**** 无论执行结果如何,甚至出现异常,都会关闭数据库连接 ****/
}

简单代码演示:
SqlConnection cnn = m_objDAL.GetCnn();
            SqlTransaction tran = cnn.BeginTransaction();
            try
            {
            ................
                tran.Commit();
                return true;
            }
            catch (Exception e)
            {
                tran.Rollback();
                throw e;
            }
时间: 2024-09-28 20:45:19

ASP.NET事务存储过程的相关文章

Asp.Net事务和异常处理:

Asp.Net事务和异常处理:一.什么是事务处理?事务处理是一组组和成逻辑工作单元的数据库操作,虽然系统中可能会出错,但事务将控制和维护每个数据库的一致性和完整性.如果在事务过程中没有遇到错误,事务中的所有修改都将永久成为数据库中的一部分,如果遇到错误,则不会对数据库进行任何修改.二.事务处理过程.1. 开始一个事务.进入“事务待命”状态.2. 在“事务待命”状态,记录事务中改变的数据库记录.此改变不能直接改变数据库中的值,必须先用一个顺序的“事务日志”记录在一边.同时,对于要改变的原始记录加锁

asp.net利用存储过程分页代码

-最通用的分页存储过程 -- 获取指定页的数据 CREATE PROCEDURE Pagination @tblName varchar(255), -- 表名 @strGetFields varchar(1000) = '*', -- 需要返回的列 @fldName varchar(255)='', -- 排序的字段名 @PageSize int = 10, -- 页尺寸 @PageIndex int = 1, -- 页码 @doCount bit = 0, -- 返回记录总数, 非 0 值则

Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值

Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值,去属性表中设置这时候会提示你去属性表中更改返回类型. 其实存储过程返回的也是一张表,只不过有时候存储过程有点复杂或者写法不规范的话不能自动生成映射文件. 不能自动生成那就自己写一张表跟存储过程返回的那张表一样就行.然后拖拽至dbml中,然后设置属性中返回类型为这张表就行了.

SQL 数据库事务 存储过程练习

数据库事务: 数据库事务(Database Transaction) 是指作为单个逻辑工作单元执行的一系列操作. 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源. 设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作: 更新客户所购商品的库存信息 保存客户付款信息--可能包括与银行系统的交互 生成订单并且保存到数据库中 · 更新用户相关信息,例如购物数量等等 正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新.

asp.net调用存储过程2

创建一个只有输入参数的存储过程 create procedure proc_user@name varchar(20),@Password varchar(100)as select * from loginuser where name like @name ---创建一个有输入和输出参数的存储过程 create procedure proc_usertext@name varchar(20),@blog varchar(100) outputas select @blog = blog fr

Mysql之视图 触发器 事务 存储过程 函数

视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图中查找即可,但视图有明显地效率问题,并且视图是存放在数据库中的,如果我们程序中使用的sql过分依赖数据库中的视图,即强耦合,那就意味着扩展sql极为不便,因此并不推荐使用 #两张有关系的表 mysql> se

Python-视图 触发器 事务 存储过程

1.视图2.触发器*** 在某个时间发生了某个事件时 会自动触发一段sql语句3.事务***** 是逻辑上的一组sql语句 他们要么都成功 要么都失败 今后只要执行sql就会有事务 使用事务 start transaction; --开启事物,在这条语句之后的sql将处在同一事务,并不会立即修改数据库 commit;--提交事务,让这个事物中的sql立即执行数据的操作, rollback;--回滚事务,取消这个事物,这个事物不会对数据库中的数据产生任何影响 四个特性 原子性:事务是一组不可分割的

MySQL-视图-触发器-事务-存储过程-函数-流程控制-索引与慢查询优化-06

目录 视图*** 什么是视图 为什么要用视图 如何生成视图 修改视图 --> 最好(千万)不要 关联表数据改动前 关联表数据改动之后 触发器 什么是触发器 触发条件 触发器语法结构 修改mysql的默认结束符(;) 触发器死循环 六个触发器的执行时机 新增前.新增后.删除前.删除后.更新前.更新后 NEW对象指代的就是当前记录(对象) 事务 ***** 什么是事务 事务的四大特性 ACID A:原子性 atomicity C:一致性 consistency I:隔离性 isolation D:持

MySQL拓展 视图,触发器,事务,存储过程,内置函数,流程控制,索引,慢查询优化

视图: 1.什么是视图 视图就是通过查询得到一张虚拟表,然后保存下来,下次直接使用即可 2.为什么要用视图 如果要频繁使用一张虚拟表,可以不用重复查询 3.如何使用视图 create view teacher2course as select * from teacher inner join course on teacher.tid = course.teacher_id; 强调: (1)在硬盘中,视图只有表结构文件,没有表结构数据 (2)视图通常是用于查询,尽量不要修改视图中的数据 dro