0 0

C#更新datatable的事务问题10

[各位退散了,经确认,问题非以下代码导致。]

 

我要把一个A.xml文件中的多条数据update到A表中。

A.xml文件已经读入了datatable中,然后用SqlDataAdapter.Update更新,代码段如下。

通过监控sql语句发现,更新过程是每一条update语句一个单独事务进行提交的,而非多个update一个事务。

 

                SqlConnection connection = new SqlConnection(".......");
                connection.Open();
                SqlTransaction tra = connection.BeginTransaction();
                try{
                    using (SqlDataAdapter adapter = new SqlDataAdapter())
                    {
                        adapter.SelectCommand = new SqlCommand("Select * from A",connection);
                        adapter.SelectCommand.Transaction = tra;

                        SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
                        adapter.Update(oDataTable.GetChanges());
                    }
                    tra.Commit();
                }catch (System.Exception )
                {
                    tra.Rollback();
                    throw;
                }
                connection.Close();
 

我已经试了不少指定事务的方法都无作用。

我估计是因为update语句需要动态用SqlCommand生成,导致的问题。

 

请问有什么办法控制为单个事务。

2011年3月31日 12:33
  • 大小: 96.2 KB
目前还没有答案

相关推荐

    实现 DataTable按条件进行更新(类似sql的update)

    本篇文章将详细讲解如何使用C#来实现类似于SQL的`UPDATE`语句,对DataTable中的数据进行条件性更新。 首先,我们需要了解DataTable的基本结构。DataTable通常包含多个DataRow,每个DataRow代表表中的一行记录。每一...

    选择文件 选择文件 ( C#_DataTable控件应用

    在进行数据处理时,DataTable可以很好地模拟数据库事务,通过`BeginLoadData`、`EndLoadData`方法进行批量加载,并在处理完数据后调用`AcceptChanges`来确认更改。 源代码分享通常会包含示例应用程序,演示如何创建...

    c# datagrid更新实例

    在C#编程中,`DataGridView`控件是Windows Forms应用程序中常用的数据展示和编辑工具,它允许用户以表格形式查看和操作数据。...此外,还要注意异常处理,确保在出现问题时能够适当地回滚事务,保护数据的完整性。

    DataTable批量插入数据到SQL Server 2005

    在.NET开发环境中,DataTable是一个非常重要的数据容器,它在内存中...在实际应用中,你还需要考虑错误处理、事务管理和性能优化等方面的问题。了解并熟练掌握这些技巧,能帮助你在.NET开发中更高效地处理大数据操作。

    c# 数据更新操作c# 数据更新操作

    总结,C#的数据更新操作涉及到与数据库的连接、SQL语句的编写和执行、事务管理等多个环节。理解这些概念和使用方法对于任何C#开发者来说都是至关重要的,尤其是在构建涉及数据库交互的应用程序时。

    C#对Oracle数据库的增加,删除,修改,基本语句

    在IT行业中,C#是一种广泛使用的编程语言,尤其在开发Windows桌面应用和.NET框架相关项目时。Oracle数据库则是企业...不过在实际项目中,还需要考虑异常处理、事务管理和性能优化等细节问题,确保代码的健壮性和效率。

    C# 导出DBF的两种方法

    也可以使用`OleDbDataAdapter`和`DataSet`对象,将数据从现有数据源(如DataTable)导出到新的DBF文件。 5. 关闭连接: 最后,记得关闭数据库连接以释放资源。 这两种方法都可以实现C#环境下向DBF文件导出数据。...

    c#开发中常见问题锦集

    开发者需要掌握连接字符串的构建、SQL语句的编写、DataSet和DataTable的使用,以及使用DataAdapter进行数据填充和更新。另外,ORM(对象关系映射)框架如Entity Framework也简化了数据库操作,让开发者可以使用面向...

    C# Access 大数据量 批量 效率 快速 导入

    在C#中,可以创建一个DataSet或DataTable来存储待插入的数据,然后一次性将这些数据提交到数据库,显著提高导入速度。 以下是一些实现这一目标的关键知识点: 1. **批处理操作**:批处理是指一次性处理多个数据库...

    第6章 办公事务管理系统(C#)

    下面将详细探讨C#在构建办公事务管理系统中的关键知识点。 一、C#基础 C#是一种面向对象的编程语言,由微软公司开发,广泛应用于Windows平台的软件开发。它的语法简洁明了,支持类、接口、继承、多态等面向对象...

    C#访问SQL显示到DataGridView,同时根据DataGridView实时更新数据库

    在C#编程环境中,开发人员经常需要处理与数据库交互的任务,比如从数据库中获取数据并显示在用户界面,以及根据用户界面的修改实时更新数据库。本教程将详细讲解如何使用C#来访问SQL数据库,将数据展示在...

    DataTable和GridControl增删改.rar

    总之,这个“DataTable和GridControl增删改.rar”包提供了关于C#中使用DataTable和DevExpress GridControl进行数据操作的实例,涵盖了数据的添加、删除、修改以及如何将这些更改批量保存到数据库的关键技术。...

    一个基于C#实现的Postgres数据库向导式创建的程序代码

    【标题】中的“一个基于C#实现的Postgres数据库向导式创建的程序代码”指出,这个项目是一个使用C#编程语言编写的软件工具,它的功能是帮助用户以向导的方式创建PostgreSQL(通常简称为Postgres)数据库。...

    C#中数据库的使用例子

    在C#中,你可以使用SqlDataAdapter填充DataSet,或者从DataTable中提取数据来更新数据库。 6. Connection String:连接字符串是用于连接数据库的关键信息,通常包括服务器名、数据库名、用户名和密码。例如:...

    c#开发帮助类

    C#帮助类是一类专门为解决常见问题而设计的静态类或实例类。它们通常包含了一系列静态方法或者成员,供其他类调用,避免了重复编写相同功能的代码。在这个类库中,我们可以预见到它包含了一些基本操作的封装,比如...

    精通C#数据库开发 精通C#数据库开发 精通C#数据库开发

    本篇文章将深入探讨如何精通C#数据库开发,涵盖的关键知识点包括C#与数据库的连接、ADO.NET框架、SQL查询、事务处理、数据缓存以及异步操作。 首先,要精通C#数据库开发,必须掌握如何使用C#与各种数据库系统(如...

    DataTable 快速导入数据库——百万条数据只需几秒

    1. **批处理**:`SqlBulkCopy`支持批处理模式,可以一次性将大批量数据写入数据库,避免了单条记录插入时的多次网络往返和事务开销。 2. **自定义批量大小**:通过`BatchSize`属性,用户可以指定每次批处理的行数,...

    C#数据库管理例子程序

    这个"C#数据库管理例子程序"虽然在更新效果方面可能不完善,但它是学习和理解C#与Access数据库交互的基础。通过阅读和修改源码,你可以深入了解数据库操作的细节,并将其应用于自己的项目中。这是一个很好的起点,...

    DataTable转Excel导出(包含数据库连接工具类、日志记录等工具方法)

    在C#编程中,将`DataTable`转换为Excel文件是一种常见的需求,特别是在处理大量数据时。这个项目提供了从`DataTable`导出到Excel的完整解决方案,包括数据库连接工具类、日志记录以及异常处理,非常适合C#初学者学习...

    c#datagridview删除更新.zip

    1. **数据绑定**:在C#中,可以使用`SqlDataAdapter`将数据库查询结果填充到`DataTable`中,然后将`DataTable`绑定到`DataGridView`。例如: ```csharp using (SqlConnection conn = new SqlConnection...

Global site tag (gtag.js) - Google Analytics