Delete()之后需要datatable.AccepteChanges()方法确认完全删除,因为Delete()只是将相应列的状态标志为删除, 
还可以通过datatable.RejectChanges()回滚,使该行取消删除。 

如果要彻底删除datarow,需要Delete()和AccepteChanges()方法同时使用,

            结论:再向一个表中设定 列,添加 行的时候,列必须是通过 new DataColumn()得到的,=赋值的会报错;

                        添加行,比如在insertAt() 行必须是 要添加到的table的  dt.NewRow()   最后添加到那个table的,如果需要其他dt的值,可以通过itemarray进行赋值。 

DataTable dt1 = new DataTable();
            DataColumn c1 = new DataColumn("name",typeof(string));
            DataColumn c2 = new DataColumn("age",typeof(int));
            dt1.Columns.Add(c1);
            dt1.Columns.Add(c2);
            DataRow r1 = dt1.NewRow();
            r1["name"] = "zs";
            r1["age"] = 25;
            DataRow r2 = dt1.NewRow();
            r2["name"] = "ls"; 
            r2["age"] = 26;
            dt1.Rows.Add(r1);
            dt1.Rows.Add(r2);
 
            //DataColumn c3 = c1;
            //DataColumn c4 = c2;
            DataTable dt2 = new DataTable();
         //dt2.Columns.Add(c3);//报错 列name已经属于另外一张表
 
            DataColumn cc1 = new DataColumn("name", typeof(string));
            DataColumn cc2 = new DataColumn("age", typeof(int));
            dt2.Columns.Add(cc1); dt2.Columns.Add(cc2);
           // dt2.Rows.InsertAt(r1, 0);//报错 : 该行已经属于另一个表。
 
            DataRow newr = dt2.NewRow();
            newr.ItemArray = r1.ItemArray;
            dt2.Rows.InsertAt(newr,0);

DataTable经典报错{列/行已属于其他表}的更多相关文章

  1. DataTable插件报错:Uncaught TypeError: Cannot read property 'style' of undefined

    DataTable插件报错:Uncaught TypeError: Cannot read property 'style' of undefined 原因:table 中定义的列和aoColumns ...

  2. easyui treegrid idField 所在属性中值有花括号(如Guid)当有鼠标事件时会报错,行记录一下

    easyui treegrid idField 所在属性中值有花括号(如Guid)当有鼠标事件时会报错,行记录一下

  3. Windows文件共享,报错"该用户已禁用"解决方案

    文章背景:学校机器有俩个用户think和adminsitrator.默认administrator禁用,think属于administrators组. 经排错得问题出现情况.因为同学们都是Think用 ...

  4. protobuf新增message报错:类型已存在

    问题现象:在一个已有的proto文件(RecommendResponse.proto)中新增一个message(BookList),用maven编译proto文件时报错: E:\workspace\m ...

  5. python+selenium 批量执行时出现随机报错问题【已解决】

    出现场景:用discover方法批量执行py文件,出现随机性的报错(有时a.py报错,有时b.py报错...),共同特点:均是打开新窗口后,切换最新窗口,但定位不到新窗口的元素,超时报错.由于个人项目 ...

  6. 部署php程序报错:站点已关闭

    场景: 之前把公司线上的php源码包拿到笔记本的虚拟机上测试部署,部署完成后通过浏览器访问总是出现站点已关闭 原因:把线上php程序配置文件config.php里面的数据库连接信息改成了笔记本虚拟机的 ...

  7. vs2015 安装之后安装MSSM 2016 导致 vs启动报错 System.ArgumentException 已添加了具有相同键的项,ActivityLog.xml

    如题,先是装了vs2015,开发什么的都没有问题,后来安装了SqlServer2016 MSSM,出大问题了,vs2015打开就报错,具体错误如上,还想还有个ActivityLog.xml 这个文件的 ...

  8. go报错unimplemented: 64-bit mode not compiled in与mingw 64位安装报错ERROR res已解决

    问题一:cc1.exe: sorry, unimplemented: 64-bit mode not compiled in 参考:https://www.cnblogs.com/lesroad/p/ ...

  9. oracle报错ORA-01653 dba_free_space中没有该表空间

    新建了一个表空间t101,在dba_tablespaces和dba_data_files都出现了,在dba_free_space却没有,这个很有可能是表空间满了. 插入数据会报错:ORA-01653: ...

随机推荐

  1. Six important .NET concepts 【Turn】

    Introduction This article will explain six important concepts: stack, heap, value types, reference t ...

  2. ASP常用函数

    取得IP地址 '******************************************************************* Function Userip() Dim Ge ...

  3. Ajax-jQuery实现

    load方法: 对上一篇中的javascript原生实现(数据格式为html),用jqury的post方法进行改造:  下面这句中“h2 a”,实现了对返回内容的选择:  $.get()\$.post ...

  4. money 转换成 varchar

    Sql :cast(sum(colname) as varchar) 或者 convert(varchar,sum(colname)) ),sum(colname))

  5. jquery获取文档高度和窗口高度的例子

    jquery获取文档高度和窗口高度,$(document).height().$(window).height() $(document).height():整个网页的文档高度 $(window).h ...

  6. OC2_ARC MRC混合编程

    // // main.m // OC2_ARC MRC混合编程 // // Created by zhangxueming on 15/6/19. // Copyright (c) 2015年 zha ...

  7. Tomcat上配置连接池{ connect error=Name [jdbc/OracleDB] is not bound in this Context. Unable to find [jdbc]}

    . 在学习期间,从未实践过在tomcat上配置连接池,今天终于实现一次,在tomcat玩了一把,不知道你是否现在有和我一样的困境.废话少说直接上代码   java  public static Con ...

  8. [GeekBand] 面向对象的设计模式(C++)(2)

    本篇笔记紧接上篇,继续学习设计模式. 4. 对象创建类设计模式 通过对象创建模式绕开new,来避免对象创建(new)过程中所导致的紧耦合,从而支持对象创建的稳定.它是接口抽象之后的第一步工作. 4.1 ...

  9. 考虑virtual函数以外的其它选择

    详情见<Effective C++>item35 1.使用non-virtual interface(NVI)手法,这是Template Method设计模式的一种特殊形式. 它以publ ...

  10. 值初始化-new

    程序如下#include<iostream>using namespace std; int main(){        int *a=new int(1);        int *b ...