C# DataTable用法
//建立一个表
DataTabletDataTable=newDataTable("test");
//建立一个列
DataColumntDataCol=newDataColumn("name",System.Type.GetType("System.String"));
//添加列
tDataTable.Columns.Add(tDataCol);
tDataCol=newDataColumn("age",System.Type.GetType("System.Int32"));
//添加列
tDataTable.Columns.Add(tDataCol);
//添加每行数据
DataRowtDataRow=tDataTable.NewRow();
tDataRow["name"]="xiaoming";
tDataRow["age"]=14;
tDataTable.Rows.Add(tDataRow);
DataRowtDataRowOne=tDataTable.NewRow();
tDataRowOne["name"]="xiaoqiang";
tDataRowOne["age"]=24;
tDataTable.Rows.Add(tDataRowOne);
//遍历Datatable
foreach(DataRowtintDataTable.Rows)
{
objectName=t[0];
objectage=t[1];
}
//删除数据
DataRow[]tDelet=tDataTable.Select("name='xiaoming'");
tDataTable.Rows.Remove(tDelet[0]);
object[]objArray=newobject[newDataTable.Columns.Count];//定义与表列数相同的对象数组存放表的一行的值。
for(inti=0;i<ds.Tables.Count;i++){for(intj=0;j<ds.Tables[i].Rows.Count;j++){ds.Tables[i].Rows[j].ItemArray.CopyTo(objArray,0);//将表的一行的值存放数组中。
newDataTable.Rows.Add(objArray);//将数组的值添加到新表中。}}
returnnewDataTable;//返回新表。}
//------------------------------------------------------------------------------------------------------------------------------
将两个DataTable合并成一个DataTable//两个结构一样的DT合并DataTableDataTable1=newDataTable();DataTableDataTable2=newDataTable();DataTablenewDataTable=DataTable1.Clone();
object[]obj=newobject[newDataTable.Columns.Count];
for(inti=0;i<DataTable1.Rows.Count;i++){DataTable1.Rows[i].ItemArray.CopyTo(obj,0);
newDataTable.Rows.Add(obj);}
for(inti=0;i<DataTable2.Rows.Count;i++){DataTable2.Rows[i].ItemArray.CopyTo(obj,0);
newDataTable.Rows.Add(obj);}
//两个结构不同的DT合并///<summary>///将两个列不同的DataTable合并成一个新的DataTable///</summary>///<paramname="dt1">表1</param>///<paramname="dt2">表2</param>///<paramname="DTName">合并后新的表名</param>///<returns></returns>privateDataTableUniteDataTable(DataTabledt1,DataTabledt2,stringDTName){DataTabledt3=dt1.Clone();
for(inti=0;i<dt2.Columns.Count;i++){dt3.Columns.Add(dt2.Columns[i].ColumnName);}
object[]obj=newobject[dt3.Columns.Count];
for(inti=0;i<dt1.Rows.Count;i++){dt1.Rows[i].ItemArray.CopyTo(obj,0);
dt3.Rows.Add(obj);}
if(dt1.Rows.Count>=dt2.Rows.Count){for(inti=0;i<dt2.Rows.Count;i++){for(intj=0;j<dt2.Columns.Count;j++){dt3.Rows[i][j+dt1.Columns.Count]=dt2.Rows[i][j].ToString();}}}else{DataRowdr3;
for(inti=0;i<dt2.Rows.Count-dt1.Rows.Count;i++){dr3=dt3.NewRow();
dt3.Rows.Add(dr3);}
for(inti=0;i<dt2.Rows.Count;i++){for(intj=0;j<dt2.Columns.Count;j++){dt3.Rows[i][j+dt1.Columns.Count]=dt2.Rows[i][j].ToString();}}}
dt3.TableName=DTName;//设置DT的名字
returndt3;}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。