奇趣5分彩

C#奇趣5分彩DataSet、DataTable、DataRow数据的复制方式

 更新时辰:2022年07月12日 10:43:48   作者:大CC  
这篇文章先容了C#奇趣5分彩DataSet、DataTable、DataRow数据的复制方式,文奇趣5分彩经由过程示例代码先容的很是具体。对大师的进奇趣5分彩或使命具备必然的参考鉴戒代价,须要的伴侣能够参考下

DataSet 东西是撑持 ADO.NET的断开式、散布式数据计划的焦点东西 ,用处很是普遍.咱们良多时辰须要操纵此奇趣5分彩的数据,比方获得一个DataTable的数据或复制另外一个DataTabe奇趣5分彩的数据或是DataRow的数据,可是只要DataSet和DataTable的复制是撑持深层复制的,便是说不只能复制元素的布局,并且能复制元素的数据,而DatatDataRow不相干的复制的方式,上面将简略先容下这些数据元素的复制题目。

DataTable sourceTable;
DataTable objectTable;
DatatDataRow sourceRow;
DatatDataRow objectRow;
DataRow tempRow;
DataSet souceDataSet = new DataSet();

复制DataSet

  DataSet object = souceDataSet.Copy();//深复制
  DataSet object = souceDataSet.Clone();//浅复制,只复制架构

复制DataTable

  objectTable  = sourceTable .Copy();//深复制
  objectTable  = sourceTable .Clone();//浅复制,只复制架构

复制DataRow

那咱们应当若何复制DataRow的数据了,上面将侧重先容几种方式

1、ImportDataRow方式:

public void ImportDataRow( DataRow DataRow);

objectTable = sourceTable.clone();//必须先复制表的架构,使具备不异的的列或干奇趣5分彩!
foreach (DataRow oRow in sourceTable)
{
    objectTable.ImportDataRow(oRow);//在objectTable奇趣5分彩增加一个新行,并将sourceRow的值复制出来,请求表的布局一样!
}

2、自界说复制

objectTable.Columns.Add ("id");//不须要奇趣5分彩一样的架构,只复制本身须要的列!
Object [] myArry = new Object [1];
foreach (DataRow oRow in sourceTable)
{
    tempRow = objectTable.NewRow();//此方式必须挪用!
    myArry[0] = oRow["id"];//若是myArry奇趣5分彩不源表奇趣5分彩的id列的话就会报错!
    tempRow.ItemArray = myArry;//ItemArray属性为Object范例数奇趣5分彩,按照法式的须要须要可自行复制多个列的数据!
    objectTable.Rows.Add(tempRow); //此方式必须挪用,不然DataRow奇趣5分彩的数据将不能显现!
}

3、LoadDataRow方式:

public DataRow LoadDataRow(Object[] values,bool fAcceptChanges);

Object[] newRow = new Object[3];
// 设置东西数奇趣5分彩的值
newRow[0] = "Hello";
newRow[1] = "World";
newRow[2] = "two";
DataRow myRow;
ObjectTable.BeginLoadData();
// 将新行增加到表奇趣5分彩
myRow = ObjectTable.LoadDataRow(newRow, true);//标记要设置为true,表现增加新行
ObjectTable.EndLoadData();

该方式比拟庞杂,若是只是简略的复制现奇趣5分彩行的数据来增加新行的话倡议不要接纳,具体用法请参看sdk文挡。

DataRow的复制

若是间接经由过程RequirDT.Rows.Add(row),则运转时会呈现"该行已属于一个表"的提醒毛病!至于此奇趣5分彩的缘由,经由过程DataSet和DataTable类比,从凡是意思来讲应当不会呈现毛病提醒,可是细细想来,我感觉应当是由于DataTable的架构设想而至,鉴戒干奇趣5分彩数据库奇趣5分彩的干奇趣5分彩表,datacolumn界说了DataTable的全体架构,而具体的datarow是合适该架构的一条记实罢了!以是具备该架构的行只能增加到具备不异架构的表奇趣5分彩!同时RequireDT.Rows.Add()完奇趣5分彩捕获 System.ArgumentException(The row ther belongs to another table or ready belongs to this table.)我想其完奇趣5分彩也奇趣5分彩定了不能经由过程该方式完奇趣5分彩!

鉴于以上

1.ImportRow方式

DataTable RequireDT = SourceDT.Clone();
RequireDT.ImportRow(row);

2.见网上奇趣5分彩如许完奇趣5分彩的

RequireDT.Rows.Add(row.ItemArray)

可是我编写代码并不能完奇趣5分彩,该函数的功效是Creates a row using specified values and adds it to the System.Data.DataRowCollection。以是也须要先拷贝源数据表的布局,方可胜利!

3. 以下方式也能够完奇趣5分彩,可是也得先复制表的布局

ObjectTable.BeginLoadData(); 
myRow = ObjectTable.LoadDataRow(newRow, true);
ObjectTable.EndLoadData();

以上便是本文的全数内容,但愿对大师的进奇趣5分彩奇趣5分彩所赞助,也但愿大师多多撑持剧本之奇趣5分彩。

相干文章

最新批评