ASP.NET中的事务处理和异常处理

TCGA之GDC-client工具下载安装与使用 文章主要是对GDC-client工具下载TCGA数据库数据整个过程的一个记录 1.下载GDC-client工具 GDC-client工具网址:GDC Data Transfer Tool | NCI Genomic Data Commons (cancer.gov) 我这里下的是上图中红圈中的版本, 2.解压安装 从网上了解的是不能解压到带中文的路径里,解压后是一个.exe文件,为了能直接在cmd命令行下使用,将其加入系统环境: 点击新建之后,输入将文件解压到的路径,然后... 阅读详情

使用SQL-Transaction类和.NET提供的异常处理机制,我们就能够以一种可靠的方式处理数据库运行中的问题和发现系统异常。这篇小文章将解释事务处理和异常处理的概念和用法。

什么是事务?

事务处理是由以一个单一的逻辑单位完成的一系列操作,它可以由一系列的SQL语句、SELECT、INSERT、UPDATE、DELETE组成,如果在该单位包含的操作执行完毕后没有发生错误,那么它对数据库所作的改变就是永久的了。如果一旦有错误发生,它就不会对数据库作任何修改或改变。

要定义一个事务,需要使用Begin tran命令,在这一命令之后的任何语句都将被认为是事务的一部分。命令Commit用来完成事务,并使事务对数据库所作的修改成为永久的。Rollback命令用来取消一个事务,并还原事务对数据库所作的修改。

下面是一个事务的例子:

[SQL SERVER7.0 or SQL SERVER2000]
 BEGIN TRAN
INSERT INTO PRODUCT(PRODUCTID, PRODUCTNAME) VALUES("0001", "KEYBOARD")
UPDATE PRODUCT SET PRICE=12 WHERE PRODUCTID= "0002"
IF (@ERROR>0)
 ROLLBACK
ELSE
 COMMIT

什么是异常处理?

开发一种错误消息处理机制、并向用户提供有用的、清楚、有意义的信息也是编程人员的任务之一,异常处理就是能够提供这一服务的一种机制。一旦事务失败,服务器就会向系统发出一个用于帮助用户发现并修复邦联的数据库错误信息。我们可以异常处理功能来获取这种异常信息,并修复出现的故障。异常处理功能的用法如下所示:

[c#]

try
{
//数据库操作命令
}
catch (Exception e)
{
?//如果有异常发生,这部分语句将被执行
}
finally
{
?//无论是否有异常发生,这部分语句都会得到执行
}
如何实现事务?

1、在一个存储过程中编写事务语句,并使用下面的控制发现是否有错误发生,返回相应的值,互联网应用程序会根据返回的值显示正确的和容易理解的错误信息。下面是一个事务的例子:

[Store Procedure]
CREATE PROCEDURE PRODUCT_SAVE( AS
DECLARE
(@USERID CHAR(5),
@LOCATION VARCHAR(50),
@RETURNS INT OUTPUT
)
BEGIN TRAN
UPDATE ADDRESS SET LOCATION=@LOCATION WHERE USERID=@USERID
IF (@@ERROR>0)
BEGIN
@RETURNS=-1 /* Fail to Update */
ROLLBACK
END
ELSE
@RETURNS=0 /* Succeed to update */
COMMIT

RETURN @RETURNS


[Web Application in C#]
int values;
DBClass dbc=new DBClass(); // 使用new命令生成一个数据库类
values=dbc.updatedb("0001", "23 Rain Street"); //And call its function member to update record
if (values==0)
Lable_message.text= "Update successfully";
else
Lable_message.text= "Sorry, can not update this record, please contact your DBA."

上面的例子非常适合DBA等对数据库编程非常熟悉的编程人员,他们更喜欢在存储过程中完成异常处理功能。如果对数据库编程不太熟悉,则可以采取下面的方法:

2、在.NET框架中,我们可以使用SqlTransaction类定义一个事务。此后,我们就可以使用commit或rollback函数控制事务。当然了,我们也可以使用.NET框架提供的异常处理功能获取系统异常。下面是一个有关的例子:

[Web Applicaion in C#]
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();
}

需要注意的是,如果使用OleDb类而不是Sqlclient类来定义SQL命令和连接,我们就必须使用OleTransation来定义事务。

[nlp] 自然语言理解基准 ATIS Snips ATIS 4k 21 Intents(not include UNK) 120 SlotsSNIPS 13k 7 Intents(not include UNK) 72 SlotsATIS Benchmark (Intent Detection) | Papers With CodeSNIPS Benchmark (Intent Detection) | Papers With Code 阅读详情

相关推荐

Fiddler抓包实战:5分钟搞定微信公众号历史消息接口分析(附完整Python代码)

本文详细介绍了如何使用Fiddler抓包工具逆向分析微信公众号历史消息接口,并提供完整的Python代码实现。从环境准备、动态参数捕获到商业级采集系统架构设计,全面解析了突破官方接口限制的技术方案,帮助开发者高效获取公众号文章数据。

tree8的博客 329

@Transactional嵌套事务失效异常Transaction rolled back because it has been marked as rollback-only

Transactional嵌套事务失效异常Transaction rolled back because it has been marked as rollback-only

竹林幽深 4727

工业级RFID读写器|识读器CK-LR08-E00通过以太网TCPIP自由协议与汇川PLC控制器联机与通讯实例方案

本文以工业级RFID读写器CK-LR08-E00和汇川PLC控制器H5U是实例介绍工业级RFID读写器CK-LR08-E00通过以太网TCPIP自由协议与汇川PLC控制器联机与通讯方案。

华翔天诚科技 4371

[转贴]在Asp.Net中的几种事务处理的方法

//======================================================================//方法1:直接写入到Sql脚本中//优点:和数据库结合,运行效率高//缺点:受到数据库的约束,如果要从sqlserver移植到其他数据库,可能要重写所有事物//===============================================...

weixin_34026484的博客 172

Origin 2025b中文版安装全指南:避开乱码、水印与崩溃陷阱

Origin作为科研绘图领域的事实标准,其2025b版本首次官方支持简体中文UI,但安装远非‘下一步’即可完成。核心在于理解软件本体、语言包、许可证服务与系统区域设置四者间的耦合关系——尤其Windows非Unicode程序语言必须设为‘中文(简体,中国)’,否则必然触发坐标轴乱码、PDF文字方块等典型故障;而AI辅助拟合、内置Python 3.11等新特性,又依赖正确的字体链(如SimSun)与注册表强制加载(UILanguage=zh-CN)才能稳定启用。该版本广泛应用于材料科学、电化学、XRD/SEM

weixin_42548874的博客 1403

逆向CarPlay协议时,除了USB主从切换,你还需要注意这3个关键点

本文深入探讨逆向CarPlay协议时的3个关键点,包括MFi协议背景、多通道协同工作机制和协议分析工具的高级过滤技巧。特别解析了USB主从切换后的复杂交互过程,帮助安全研究员和逆向工程师更好地理解CarPlay协议的核心机制与潜在安全研究切入点。

weixin_29164497的博客 381

C#.net事务处理代码

public   void   RunSqlTransaction(string   myConnString)       {             SqlConnection   myConnection   =   new   SqlConnection(myConnString);             myConnection.Open();                 SqlC

JSFK_365的专栏 2136

在 SAP S/4HANA Public Cloud 中,用 RAP 一键生成 PDF 并在 Fiori 前端触发下载的完整方案

create;update;delete;// 生成并返回当前文档上下文。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 408

.NET数据库操作的事务处理

<!--function __ContentSize(size){ var obj = document.all.contentBody; obj.style.fontSize = size + "px";}--><!--function __ContentSize(size){ var obj = document.all.contentBod

也想快乐的生活 2600

Mamba SSM 实战:IMDb 文本分类 + Mamba-ssm 全流程

Mamba SSM 文本分类链路:IMDb 二分类 → MambaLMHeadModel (d_model=256, n_layer=8, d_state=16, exp2=2) → 末 token 分类头。5 epoch 达 89.2% 准确率 (与 BERT-base 持平), 但显存降低 44% (3.5GB vs 6.2GB)。建议序列长度 ≥ 1024 再选 Mamba, 短序列 (< 512) 用 BERT 更高效。扩展时注意d_state。

m0_71589036的博客 57

详细分析一下华为自研的MetaERP系统中的合并报表流程与规则

华为MetaERP合并报表系统针对其全球化复杂业务量身定制,采用五层自动化架构:统一数据采集、多币种转换、智能对账协同、规则化抵消处理及多维分析输出。系统核心在于可配置的智能规则引擎,涵盖股权合并范围、内部交易抵消、未实现利润计算等复杂场景,实现多准则并行处理。相比传统软件,该系统深度集成业务数据、支持准实时合并,并通过参数化配置快速适应组织变革,成为华为全球财务管控的"数字神经中枢",在效率、准确性和安全性上具有显著优势。

金牌架构师 673

[导入]ASP.NET中的事务处理和异常处理

ASP.NET中的事务处理和异常处理文章来源:http://blog.csdn.net/21aspnet/archive/2004/10/29/158920.aspx 转载于:https://www.cnblogs.com/zhaoxiaoyang2/archive/2004/10/30/816341.html

weixin_30446613的博客 81

在 SAP BAS 中扩展标准 SAP Fiori 应用并部署到 ABAP 环境的完整实践指南

SAPUI5 Adaptation Project 摘要(148字) SAPUI5 Adaptation Project 提供了一种高效扩展标准Fiori应用的方式,通过创建应用变体(Application Variant)实现差异化定制。开发者可在SAP BAS中使用可视化编辑器修改UI元素(如隐藏字段、调整表格布局、添加按钮等),而无需重写业务逻辑。变体部署到ABAP环境后,可与标准应用并行使用,且能随原应用升级保持同步。典型应用场景包括为不同用户角色定制简化界面或增强特定功能,既满足个性化需求,又保留

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 184

ASP.NET事务处理和异常处理

使用SQL-Transaction类和.NET提供的异常处理机制,我们就能够以一种可靠的方式处理数据库运行中的问题和发现系统异常。这篇小文章将解释事务处理和异常处理的概念和用法。  什么是事务?  事务处理是由以一个单一的逻辑单位完成的一系列操作,它可以由一系列的SQL语句、SELECT、INSERT、UPDATE、DELETE组成,如果在该单位包含的操作执行完毕后没有发生错误,那么它对数据库所作

xiangyyy的专栏 657

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

java异常与事务,ASP.NET中的事务处理和异常处理

刘彦青编译来自:yesky使用SQL-Transaction类和.NET提供的异常处理机制,我们就数据库刘彦青编译 来自:yesky使用SQL-Transaction类和.NET提供的异常处理机制,我们就能够以一种可靠的方式处理数据库运行中的问题和发现系统异常。这篇小文章将解释事务处理和异常处理的概念和用法。什么是事务?事务处理是由以一个单一的逻辑单位完成的一系列操作,它可以由一系列的SQL语句、...

weixin_29378153的博客 159

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: 通过 ASP 记录进行分页
下一篇: ASP.NET中的事务处理和异常处理
Jasonchen82
博客等级 码龄25年 3粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值