请教高人 用c# asp.net更新IBM AS400(DB400)的数据时的Transaction的问题/////

问题描述

我在用c#asp.net更新IBMAS400(DB400)数据库的数据时写了下面的code。数据的表示,更新等等完全没有问题,可以被执行,但是就是Transaction不起作用。大家看了就会明白,这些code所执行的更新,最后应该一定会被Rollback掉的。但是不知道为什么。数据就是会被正常的更新,Rollback不起作用,而且整个code里不会出现任何error。哪位大侠能指点一二,不胜感激。-------------------------------------------------------------usingSystem.Data.OleDb;privatestringtest(){OleDbConnectioncon=newOleDbConnection();OleDbCommandcmd=newOleDbCommand();try{con.ConnectionString="Provider=IBMDA400;DataSource=XXXXX;UserID=XXXXX;Password=XXXXX";con.Open();OleDbTransactiontran=con.BeginTransaction();cmd=con.CreateCommand();cmd.CommandText=SQL;cmd.Transaction=tran;cmd.ExecuteNonQuery();tran.Rollback();←------一定让Rollback发生return"OK";}catch(Exceptionerr){returnerr.Message.ToString();}finally{cmd.Dispose();con.Close();}}-------------------------------------------------------------

解决方案

解决方案二:
晕,rollback通常用在出错后回滚你这里都已经执行了,还回滚rollback?前面的内容都执行完了,rollback好像没有意义哦。
解决方案三:
你不要晕本人就是要测试OleDb的Rollback对DB400是不是起作用,所以故意写在这里的
解决方案四:
没有用过,很难说清楚。首先验证各种OLEIBMDA400是否果真支持Transaction(即使不支持Transaction,你通常也可以在你的SQL变量所包含的语句中显示地使用数据库的事务指令)。其次参照各种宣称支持事务的OLEIBMDA400的例子,大概网上有不少例子都是仅仅做一个简单的示例而根本没有仔细考察事务操作,尽量使用那些特意示例事务操作的例子中的ConnectionString而不是你自己的写法。最后,也只好看看除了这个OLE驱动以外还有没有别的公司出品的驱动了,包括不一定使用OLE方式。
解决方案五:
up
解决方案六:
友情up

时间: 2024-09-06 00:09:24

请教高人 用c# asp.net更新IBM AS400(DB400)的数据时的Transaction的问题/////的相关文章

asp.net采用OLEDB方式导入Excel数据时提示:未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0" 提供程序"

 笔者在项目中做做了一个从Excel表格中导入数据的模块.大体上asp.net项目中导入Excel大体分成三类: 1)采用c#内置方案System.Data.OleDb(限制较小, 通用) 2)采用Excel的COM组件(会有版本问题) 3)采用伪Excel文件.即使用文本流的方式根据需求自己定义数据格式.同时在服务端进行反格式化 笔者采用的是方案一.相关联开发环境如下: Windows 7(x64) Visual Studio 2010 方案中使用的代码:   public sealed cl

完美解决ASP 不能更新。数据库或对象为只读。[原创]_ASP基础

最近帮别人处理下数据,发现添加数据时,就提示"ASP 不能更新.数据库或对象为只读.",从网上找了,也没有解决我的问题.1.服务器的数据目录mdb文件所在的目录,是只读的2.数据库在本地的权限,去只读权限,再上传3.有可能你是从只读目录移动到可读目录的,所以一定不能这么用,先下到本地,再上传,可解决此类问题.www.jb51.net "不能更新,数据库或对象为只读"的解决方案 初接触dreamweaver,在做一简单页面实现向access数据库写数据时,总是遇到这样

asp.net更新指定记录的方法_实用技巧

本文实例讲述了asp.net更新指定记录的方法.分享给大家供大家参考.具体方法如下: 我们先来看html页面: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>  <form id="form1" runat="se

asp.net更新指定记录实现程序

我们先来看html页面  代码如下 复制代码 <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>  <form id="form1" runat="server">                   <div sty

asp内容更新程序实例教程

asp内容更新程序实例教程 <% '建立连接 set conn = server.createobject("adodb.connection") conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("data.mdb") dim rs,arr_getrows,i,temp_content,

完美解决ASP 不能更新。数据库或对象为只读。 原创

最近帮别人处理下数据,发现添加数据时,就提示"ASP 不能更新.数据库或对象为只读.",从网上找了,也没有解决我的问题. 1.服务器的数据目录mdb文件所在的目录,是只读的 2.数据库在本地的权限,去只读权限,再上传 3.有可能你是从只读目录移动到可读目录的,所以一定不能这么用,先下到本地,再上传,可解决此类问题.www.jb51.net "不能更新,数据库或对象为只读"的解决方案 初接触dreamweaver,在做一简单页面实现向access数据库写数据时,总是遇

在Visual Studio 2005和ASP.NET 2.0中使用强类型数据存取

asp.net|visual|数据 "Never put off until run time what can be done at compile time."David Gries, Compiler Construction for Digital Computers Introduction 作为程序员,我们在学习一些新技术的时候,范例有时候会是我们最大的敌人.指南通常被设计成简单易懂,但同时里面的懒惰.无效率的甚至是危险的代码编写会增多.像这种情况最普遍存在的就是在ADO.

ASP中文本文件与数据库文件的数据交换(FSO)

fso|数据|数据库|中文 ASP中文本文件与数据库文件的数据交换 网络数据库的应用是WWW上一个很重要的组成部分,可以这样说,如果缺少了数据库,网络也就失去了灵魂.大家可以想象一下,如果没有象YAHOO,SOHU等搜索引擎的话,那么在网上寻找一个目标变得多么困难,大家在茫茫网海里变得不知所往,动辄迷失方向.其实,这些搜索引擎是网络数据库的最典型的应用,在ASP(Active Server Pages)技术里对数据库的直接操作是比较多的,下面讲述一种由文本文件向数据库文件传递数据的方法.这个文本

asp.net小孔子cms中的数据添加修改_实用技巧

题外话:我为什么研究小孔子的cms,从我自己写一个cms我就开始研究起别人的cms,早期我是研究netcms,但这系统过于庞大,看上去十分的累,也没那个精力,于是打算从一套比较小的开始研究,于是小孔子cms就进入了我的研究范围.没过多久我就放下我手中的cms,决定研究清楚有了更多经验再继续写完我没有完成的cms.        最近都在看小孔子cms的代码,其添加与修改数据十分方便,做下笔记,代码主要提取自小孔子cms,去掉了不用的函数并把相关代码写到一个文件中: 结合上面的图片,当我们要往数据