繁体   English   中英

如何在C#中的数据集中的新创建的列中插入数据

[英]How to insert the data in the newly created column in the dataset in C#

我已将.csv文件加载到数据集中。 CSV文件(几百行)的格式如下:

"UCPTlogTime","UCPTpointName","UCPTvalue","UCPTunit"
2010-07-05T11:08:07.390+08:00,"Net/LON/wattnode1/VirtFb/nvoCurrent[0]","0.128767","Amperes"
2010-07-05T11:08:10.720+08:00,"Net/LON/wattnode1/VirtFb/nvoPower[0]","28.90336","Watts"
2010-07-05T11:08:11.680+08:00,"Net/LON/wattnode1/VirtFb/nvoCurrent[0]","0.128767","Amperes"
2010-07-05T11:08:18.830+08:00,"Net/LON/wattnode1/VirtFb/nvoPower[0]","34.48953","Watts"

如您所见,在UCPTvalue列中,保存了两种不同类型的数据。 我想做的是在使用所有这些数据更新远程服务器之前,我想在单独的列中分开安培数据和瓦数数据。 是否有任何C#代码在数据集中创建新列并使用现有列中的数据进行设置?

我自己不会使用数据集。 我将其批量加载到临时数据库表中,然后为每种UCPT单元类型更新相关表(换句话说,全部在存储过程中完成)。

[详细编辑]

创建一个名为tmpUpdate的新表。

SQLBulk将数据复制到其中。

然后运行一个存储过程,使用它进行多次更新,例如

update liveTable set latestAmps=tempUpdate.UCPTvalue
FROM liveAmpTable JOIN tempUpdate ON liveAmpTable.UCPTpointName=tempUpdate.UCPTpointName
WHERE tempUpdate.UCPTunit='Amperes'

update liveTable set latestWatts=tempUpdate.UCPTvalue
FROM liveWattsTable JOIN tempUpdate ON liveWattsTable.UCPTpointName=tempUpdate.UCPTpointName
WHERE tempUpdate.UCPTunit='Watts'

truncate table tempUpdate --clear temp data

假设只有一个用户同时进行更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM