DataTable.Clear(); 之后的问题

问题描述

为什么DataTable.Clear();之后再Update更新数据库表还是没有变化??请遇到过此类问题的高手解答有无好的处理办法?目的就是清除所有表记录

解决方案

解决方案二:
再AcceptChanges()参考http://www.cnblogs.com/kissknife/archive/2008/11/17/1335271.html
解决方案三:
引用1楼wuyq11的回复:

再AcceptChanges()参考http://www.cnblogs.com/kissknife/archive/2008/11/17/1335271.html

对头
解决方案四:
理解AcceptChanges()此方法容易给人误解,以为在调用它之后对DataTable所做的所有更改将会被提交到Database。事实上,此方法跟Database没有直接的关系(注意),它只直接影响各DataRow的RowState(具体地说来是将所有状态为Deleted的行真正移除,所有状态为Added或Modified的行都变成Unchanged)。与Database有直接相关的是DataAdapter.Update()方法,它是真正负责执行相关SQL命令的地方。但是,从另一方面来说,没有直接的影响,言外之意就是有间接的影响,由于它影响了所有DataRow的RowState,而DataAdapter.Update()方法在执行SQL命令时必须依据RowState以确定使用insert、update、或delete命令。举个例子,如果你在DataAdapter.Update()调用之前执行AcceptChanges()方法,这将阻止所有对Database的更改,因此对这两个方法调用的顺序应有充分的考虑。另外,DataSet、DataTable、DataRow都有AcceptChanges()方法,这些方法除了影响的范围大小不同之外,没有本质的区别。
解决方案五:
清空所有DataTable里面的数据好像你那句就可以吧
解决方案六:
用For(inti=0;i<DataTable.rows.count;i++){datatable[0].rows[i].delete;}大概这样~~~我试过用循环对数据集的表的行进行删除可以真正删除!!!具体单词忘了~~~~~~~~

时间: 2024-08-26 11:42:56

DataTable.Clear(); 之后的问题的相关文章

java-关于Map的clear()方法

问题描述 关于Map的clear()方法 Map的clear()方法一般用在什么场合?我在一个方法中创建一个Map,然后添加了很多键值对. 当方法调用完之后,jvm不是就自动释放map占用的资源,有没有必要自己在调用一下 clear方法 解决方案 除非你的map没有人用了,系统才会回收,假如map还有人用,里面的对象如果不清除,都会被map持有,永远得不到回收,所以在map中数据不需要时,及时clear 解决方案二: DataTable.Clear 方法

DataTable.NewRow 内存泄漏问题

昨天做了一个自动生成Insert 语句的小工具,今天测试发现存在严重的内存泄漏问题,代码看了好几遍,没发现问题.后来用 .Net Memory Profiler 跟踪(跟踪方法见 用 .NET Memory Profiler 跟踪.net 应用内存使用情况--基本应用篇) 发现有数千个DataRow 没有释放,最后定位是DataTable.NewRow 的问题. 先看一下有问题的代码 public DataRow GetNextRow() { if (_DataReader.Read()) {

C# DataSet.Clear 方法

        DataSet.Clear 方法         通过移除所有表中的所有行来清除任何数据的 DataSet. 备注         如果 DataSet 绑定到 XmlDataDocument,则调用 DataSet.Clear 或 DataTable.Clear 将引发 NotSupportedException. 为避免这种情况,请遍历每个表,逐个移除每一行. 例如,如果您使用下面的代码: DataSet ds = new DataSet(); //Skip. Populat

c#的CE设备中设置DataTable

问题描述 点击控件button1调用A方法生在dataGrid1生成一个table,如何点击button2控件调用A方法才能在dataGrid2中生成另一个内容不同的table,调用方法时已给定参数.//生成table,并加入数据privateDataTableGetDataTable(string[]Columname,string[,]RowInfo){foreach(stringcolumnnameinColumname)//遍历数组{dt.Columns.Add(columnname,t

艾伟_转载:DataTable.NewRow 内存泄漏问题

昨天做了一个自动生成Insert 语句的小工具,今天测试发现存在严重的内存泄漏问题,代码看了好几遍,没发现问题.后来用 .Net Memory Profiler 跟踪(跟踪方法见 用 .NET Memory Profiler 跟踪.net 应用内存使用情况--基本应用篇) 发现有数千个DataRow 没有释放,最后定位是DataTable.NewRow 的问题. 先看一下有问题的代码 public DataRow GetNextRow(){if (_DataReader.Read()) { Da

ADO.NET操作数据库

在数据库操作中,获取数据并绑定到GridView上一般来说是我们的目标,下面是经常使用到的一种方式,利用DataAdapter和DataSet,DataTable的配合来实现. 先来试试DataAdapter与DataTable. 首先获取一个数据库连接对象 再要声明一个SqlCommand对象 申请一个DataAdapter对象和DataTable对象 然后开始进行数据的绑定工作 String connstr = "Data Source=.\\SQLEXPRESS;Initial Catal

C# DataTable.NewRow 方法

DataTable.NewRow 方法         Creates a new DataRow with the same schema as the table. Namespace:  System.Data Assembly:  System.Data (in System.Data.dll) Return Value Type: System.Data.DataRow         A DataRow with the same schema as the DataTable.  

c# datatable用法总结

一.DataTable简介 (1)构造函数 DataTable() 不带参数初始化DataTable 类的新实例. DataTable(string tableName) 用指定的表名初始化DataTable 类的新实例. DataTable(string tableName, string tableNamespace) 用指定的表名和命名空间初始化DataTable 类的新实例. (2) 常用属性 CaseSensitive 指示表中的字符串比较是否区分大小写. ChildRelations

如何获取对固定列不重复的新DataTable

#region 获取对固定列不重复的新DataTable /// <summary> /// 获取对固定列不重复的新DataTable /// </summary> /// <param name="dt">含有重复数据的DataTable</param> /// <param name="colName">需要验证重复的列名</param> /// <returns>新的DataT