//两个结构一样的DT合并
DataTable DataTable1 = new DataTable();
DataTable DataTable2 = new DataTable();
DataTable newDataTable = DataTable1.Clone();
object[] obj = new object[newDataTable.Columns.Count];
for (int i = 0; i < DataTable1.Rows.Count; i++)
{
DataTable1.Rows[i].ItemArray.CopyTo(obj,0);
newDataTable.Rows.Add(obj);
}
for (int i = 0; i < DataTable2.Rows.Count; i++)
{
DataTable2.Rows[i].ItemArray.CopyTo(obj,0);
newDataTable.Rows.Add(obj);
}
//两个结构不同的DT合并
/// <summary>
/// 将两个列不同的DataTable合并成一个新的DataTable
/// </summary>
/// <param name="dt1">表1</param>
/// <param name="dt2">表2</param>
/// <param name="DTName">合并后新的表名</param>
/// <returns></returns>
private DataTable UniteDataTable( DataTable dt1 ,DataTable dt2 ,string DTName)
{
DataTable dt3 = dt1.Clone();
for( int i = 0 ;i < dt2.Columns.Count ;i ++ )
{
dt3.Columns.Add( dt2.Columns[i].ColumnName ) ;
}
object[] obj = new object[dt3.Columns.Count];
for (int i = 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( int i = 0 ;i < dt2.Rows.Count ;i++ )
{
for( int j = 0 ;j < dt2.Columns.Count ;j ++ )
{
dt3.Rows[i][j+dt1.Columns.Count] = dt2.Rows[i][j].ToString() ;
}
}
}
else
{
DataRow dr3 ;
for( int i = 0 ;i < dt2.Rows.Count - dt1.Rows.Count ;i ++ )
{
dr3 = dt3.NewRow() ;
dt3.Rows.Add( dr3 ) ;
}
for( int i = 0 ;i < dt2.Rows.Count ;i++ )
{
for( int j = 0 ;j < dt2.Columns.Count ;j ++ )
{
dt3.Rows[i][j+dt1.Columns.Count] = dt2.Rows[i][j].ToString() ;
}
}
}
dt3.TableName = DTName ; //设置DT的名字
return dt3 ;
}
分享到:
相关推荐
### 合并两个Datatable知识点解析 在进行数据处理时,经常会遇到需要将从不同来源获取的数据合并到一起的情况。特别是在使用.NET框架进行数据库操作时,`DataTable`对象是存储和处理数据的一种常见方式。本篇文章将...
使用`Merge`方法可以将两个`DataTable`合并成一个,其中所有列都会被添加到目标表中,而源表的数据会附加到目标表现有数据之后。 ```vb.net DataTable a = ...; DataTable b = ...; a.Merge(b); ``` #### 八、计算...
DataTable合并重复行是指在数据处理过程中,需要将两个或多个DataTable合并成一个DataTable,但是在合并过程中可能会出现重复行的问题。这种情况下,需要使用特殊的方法来去除重复行,否则可能会出现数据不一致的...
Relations表示两个DataTable之间的关联,通常是基于共同的主键和外键字段。在代码中,我们看到通过`ds.Relations.Add()`方法定义了两个关系: ```c-sharp // 建立关系 ss_Action.FID = ss_RolesInAction.FActionID ...
联合操作用于将两个或多个表中的所有不同行组合成一个新的结果集,而连接操作则基于特定条件将两表中的行匹配并组合在一起。在这里,描述中提到的是"合并记录",这通常意味着使用联合操作,因为记录数量可能包含重复...
今天遇到了一个情况,就是从一张数据表中读取几个符合条件1的客户的信息,然后再读取几个符合条件2的客户的信息,最后...因为前后两次数据的客户信息的结构是完全相同的,所以干脆合并成一个DataTable再赋值给GridView好了.
代码如下:public static DataTable UniteDataTableColumns(DataTable dt, String newColumnName, string ColumnName1, string ColumnName2) { //汇总的表达式 string expression = “”; expression = String....
接下来,我们讨论如何将数据库表的两个列合并成一个列并填充到DataSet中。假设你已经使用ADO.NET连接到数据库,并且有一个DataTable对象dt,你可以通过以下步骤实现: 1. 创建一个新的DataTable来存储合并后的数据...
然后,遍历Excel工作簿中的所有工作表,并将每个工作表的数据加载到`DataTable`中,最终把这些`DataTable`组合成一个`DataSet`对象。 **代码示例**(部分): ```csharp // 启动Excel应用程序 Excel.Application ...
此页面包含了一个按钮用于触发导出操作,以及两个文本框用于输入查询条件(年份和月份),还有一个文件上传控件和一个 GridView 控件用于显示数据。 ```html 导出" runat="server" OnClick="Button1_Click" Text=...
首先,要实现这个功能,我们需要理解C#中的两个关键概念:文件I/O操作和数据序列化。C#提供了丰富的类库来处理文件读写,如`System.IO`命名空间下的`StreamReader`和`StreamWriter`,以及用于序列化的`System....
然后,它获取两个部分的连接字符串——`AcStr1`和`AcStr2`,并将它们组合成一个完整的Access数据库路径。这种方法确保了连接字符串的灵活性,因为它可以适应不同位置的数据库文件。 `GetMsSQLStr()`方法类似,但...
把数据库表的两个列合并成一个列 Fill 进 DataSet 可以在创建`DataColumn`时使用`Expression`属性将两个列合并,如: ```csharp DataColumn dcChehao = new DataColumn("newColumnName", typeof(string)); ...
首先,我们需要了解.NET中的两个关键组件:`Microsoft.Office.Interop.Excel` 和 `System.Data.SqlClient`。前者是用于与Excel文件进行交互的组件,后者则用于与SQL Server数据库进行连接和数据操作。 1. **安装库*...
2. **创建数据结构**:为了便于操作,可以将数据封装成一个结构或类,例如`PointPair`,包含X和Y两个属性。 3. **绘制背景**:在Paint事件处理程序中,首先清除画布,通常使用`e.Graphics.Clear(Color.White)`,...
9. **系统集成**:学习如何将各个模块整合成一个完整系统,包括数据输入、处理、查询、显示和打印等功能。 10. **测试与调试**:学习使用VB的调试工具,如Breakpoint、Step Into、Step Over等,对程序进行单元测试...
在Web开发中,Servlet和jQuery是两种非常重要的技术。Servlet主要负责服务器端的逻辑处理,而jQuery则是一种广泛使用的JavaScript库,简化了DOM操作、事件处理以及Ajax交互。本篇文章将详细探讨如何利用Servlet生成...
基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...
示例代码中,使用SqlDataAdapter进行批量更新时,首先创建一个SqlConnection和SqlCommand对象,并将SqlCommand与SqlDataAdapter关联。SqlCommandBuilder用于根据DataTable生成相应的SQL语句。通过设置SqlDataAdapter...
基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...