修改已有数据的Datatable的列的类型

private DataTable UpdateDataTable(DataTable argDataTable)
{
DataTable dtResult = new DataTable();
//克隆表结构
dtResult = argDataTable.Clone();
foreach (DataColumn col in dtResult.Columns)
{
switch (col.ColumnName)
{
case "钢束编号":
col.DataType = typeof(int);
break;
case "X1":
col.DataType = typeof(float);
break;
case "Y1":
col.DataType = typeof(float);
break;
case "X2":
col.DataType = typeof(float);
break;
case "Y2":
col.DataType = typeof(float);
break;
case "半径":
col.DataType = typeof(float);
break;
case "钢束面积":
col.DataType = typeof(float);
break;
case "孔道面积":
col.DataType = typeof(float);
break;
case "根数":
col.DataType = typeof(int);
break;
default:break;

}

}
foreach (DataRow row in argDataTable.Rows)
{
DataRow rowNew = dtResult.NewRow();
rowNew["钢束编号"] = row["钢束编号"];
//修改记录值
rowNew["X1"] = row["X1"];
rowNew["Y1"] = row["Y1"];
rowNew["X2"] = row["X2"];
rowNew["半径"] = row["半径"];
rowNew["钢束面积"] = row["钢束面积"];
rowNew["孔道面积"] = row["孔道面积"];
rowNew["根数"] = row["根数"];
dtResult.Rows.Add(rowNew);
}
return dtResult;
}

原文地址:https://www.cnblogs.com/gilgamos/p/10115195.html

时间: 2024-11-13 09:54:17

修改已有数据的Datatable的列的类型的相关文章

Asp.net 修改已有数据的DataTable中某列的数据类型

DataTable dt_PI = new DataTable(); //克隆表结构 dt_PI = ds.Tables[0].Clone(); dt_PI.Columns["FLTFullPercentage"].DataType = typeof(String);//修改[满柜百分比]列的数据类型 foreach (DataRow row in ds.Tables[0].Rows) { DataRow rowNew = dt_PI.NewRow(); foreach (DataCo

Mysql修改已有数据的字符集

Mysql修改已有数据的字符集 问题 在生产环境中跑了很久,发现MysqlClient连接的字符集是默认的latin1,我们一直以为都是utf8,造成这样的误解,是因为在内网环境中,我们是源码编译的Mysql,并指定了编译选项字符集位utf8,这时Mysql的是默认字符接都是utf8. 而在外网,我们是二进制包安装,默认是latin1,虽然在my.conf中指定了[client] [mysql] [mysqld] 中字符集为utf8,这并不能保证MysqlClient连接时的字符集为utf8.所

Oracle中修改已存在数据的字段类型

原字段类型为varchar2,实际上均为数字,想将字段类型改为number,报错ORA-01439: column to be modified must be empty to change datatype 解决方法: tablename为表名称,colname为要修改的字段名 alter table tablename add tempcolumn varchar2(100);--添加临时字段tempcolumn update tablename set tempcolumn=colnam

修改已有数据表

通过 CREATE TABLE 语句创建的数据表的结构并不是永远不变的,很多因素决定我们需要对数据表的结构进行修改,比如我们需要在T_Person表中记录一个人的个人爱好信息,那么就需要在T_Person中增加一个记录个人爱好的字段,再如我们不再需要记录一个人的年龄,那么我们就可以将FAge字段删除.这些操作都可以使用ALTER TABLE 语句来完成. ANSI-SQL中为ALTER TABLE 语句规定了两种修改方式:添加字段和删除字段,有的数据库系统中还提供了修改表名.修改字段类型.修改字

oracle处理已有数据的字段(主键)类型修改方法

来自本人oracle最新sql回忆性演练1一篇博文http://blog.csdn.net/luozhonghua2014/article/details/45729669 只所以重新发布一次,就是抽取经验,让大家可以找到解决方法 --------处理已有数据的字段类型修改(前4步操作会使表中的约束丢失) --1重命名字段 alter table example rename column id to sid; --2添加id字段 alter table example add id varch

DataTable 更改在有数据列的类型方法+DataTable 导出excel功能

/// <summary> /// 导出功能 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btn_export_Click(object sender, EventArgs e) { try { string strSql = CreateStrWhere

Oracle已有数据表建立表分区—在线重定义

今天在做数据抽取的时候,发现有一张业务表数据量达到了5000W,所以就想将此表改为分区表.分区表的有点如下: 1.改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度.2.增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用:3.维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可:4.均衡I/O:可以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能. 第一步:首先对要在线重定义的表自行验证,看该表是否可以重定义,如果不可以则会提示错误信息 SQL>

SSIS:捕获修改了的数据

获取修改了的数据一般有三种方式: 1.使用一个datetime列 缺点:是并不是每个表都会有个‘修改日期’字段来让你判断行是否修改过 使用实例可以参考我之前的文章:SSIS: 使用最大ID和最大日期来增量更新表 2.MSSQL 自带的功能CDC (change data capture) CDC使用 SQL Server Agent把变更的数据写到另外一个表中. 缺点: 如果数据库变动频繁会占用大量的磁盘空间 1) 启用CDC 注意:只有开发板和企业版提供CDC功能 USE [Adventure

数据库(概念、语法、DBMS、SQL语言:创建数据库、表格,添加、修改、删除数据记录)

关系型数据库:以表作为实体,以主键和外键关系作为联系的一种数据结构. 主键:在关系型数据库中,用一个唯一的标识符来标志每一行,这个标识符就是主键.主键有两个特点:非空和不能重复. 外键:在关系型数据库中,外键就是用来表达表与表之间的关系.联系,通过主外键关系,建立实体之间的联系. 表之间的三种基本关系模型: ① 一对多关系: 一条主表记录对应多条从表记录,一条从表记录对应一条主表记录. ② 一对一关系: 一条主表记录对应一条从表记录,一条从表记录对应一条主表记录. ③ 多对多关系: 一条主表记录