从dataset(其中有可有多个不同的表)中生成一个新表的方法
2011-03-27 12:25
274 查看
来源:/content/4106019.html
///
/// 遍历多个表生成一个新表
///
/// 一个有多个表的集合,表可以各不相同,但主键名称要一样
///
private DataTable newdatatable(DataSet ds)
{
//遍历多个表生成一个新表
DataTable newdt = new DataTable();//要填充的新表
DataColumn newcolumn;
newcolumn = new DataColumn("id",typeof(System.String));
newdt.Columns.Add(newcolumn);
//设置主键,如果不设会有重复
newdt.PrimaryKey = new DataColumn[] { newcolumn };
DataTable middt = new DataTable();//一个中间表
DataTable clonedt =newdt.Clone();//一个中间表,以便保存新表newdt的原始状态
for(int i=0;i 0)
{
//操作中间表
middt = clonedt.Clone();
//先加一列
middt.Columns.Add(i.ToString(), typeof(System.String));
Object[] midArray = new Object[2];
DataRow midrow;
foreach (DataRow dtrow in dt.Rows)
{
midrow = middt.NewRow();
midArray[0] = dtrow["id"];
midArray[1] = dtrow["item"];
midrow.ItemArray = midArray;
middt.Rows.Add(midrow);
}
}
//整合到新表中
newdt.Merge(middt, false, MissingSchemaAction.Add);
}
return newdt;
}
///
/// 遍历多个表生成一个新表
///
/// 一个有多个表的集合,表可以各不相同,但主键名称要一样
///
private DataTable newdatatable(DataSet ds)
{
//遍历多个表生成一个新表
DataTable newdt = new DataTable();//要填充的新表
DataColumn newcolumn;
newcolumn = new DataColumn("id",typeof(System.String));
newdt.Columns.Add(newcolumn);
//设置主键,如果不设会有重复
newdt.PrimaryKey = new DataColumn[] { newcolumn };
DataTable middt = new DataTable();//一个中间表
DataTable clonedt =newdt.Clone();//一个中间表,以便保存新表newdt的原始状态
for(int i=0;i 0)
{
//操作中间表
middt = clonedt.Clone();
//先加一列
middt.Columns.Add(i.ToString(), typeof(System.String));
Object[] midArray = new Object[2];
DataRow midrow;
foreach (DataRow dtrow in dt.Rows)
{
midrow = middt.NewRow();
midArray[0] = dtrow["id"];
midArray[1] = dtrow["item"];
midrow.ItemArray = midArray;
middt.Rows.Add(midrow);
}
}
//整合到新表中
newdt.Merge(middt, false, MissingSchemaAction.Add);
}
return newdt;
}
相关文章推荐
- 用两种不同的方法来实现一个两列布局,其中左侧部分宽度固定、右侧部分宽度随浏览器宽度的变化而自适应变化
- 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从
- 让一个动态链接库文件debug和release编译的时候生成不同的文件名的方法
- 工作总结 @Html 辅助方法 为 生成的 标签设置元素属性 htmlAttributes 一个对象,其中包含要为该元素设置的 HTML 特性。
- androidstudio 一个项目多个不同功能的版本解决方法(多渠道打包,生成不同包名的包)
- 【Andrioid】在Gradle编译时生成一个不同的版本号,动态设置应用程序标题,应用程序图标,更换常数
- 页面中包含同一个asp.net控件多次,如何产生不同的javascript方法名
- 写一个数据集DataSet---ds,向其中添加一个数据表DataTable ---dt,并创建该表的列和行。然后将本本表作为数据源绑定到GradView中。
- 由DataSet导出生成excel的几种方法
- Thinkphp5.0 再进行api接口开发的时候,sesssion再同一个控制器不同的方法是无法获取session的。
- Asp.net 2.0 中将网站首页生成静态页的一个比较好的方法
- [ 面试] 12个小球用天平秤3次,找出其中一个重量不同的。
- 随机生成一些数字并传入某个方法。编写一个程序,每当收到新字符数字时,找出并记录中位数。
- 节点文件将两个不同格式的XML文件,进行节点对照,并生成一个用于对照功能的XML
- Java/Flex使用相同密钥加密相同的信息,生成密文不同的解决方法
- 12个球,外形相同,其中有一个球重量与其余11球不同,如何使用天平尽量少次数的测量找出这个小球且判别它比正常球轻还是重
- 一个服务器搭多个tomcat导致session丢失,或者同一个IP不同端口,多个应用的session会冲突解决方法
- 设计两个不同的方法,判断一个数是否为2的阶次数
- 分享一个牛逼的PHP无限极分类生成树方法,巧用引用
- mysql批量更新多条记录的同一个字段为不同值的方法