C# 操作数据表中的值?

C# 操作数据表中的值?,c#,datatable,C#,Datatable,通用数据导入模块: 我正在将6种数据源类型(CSV、Active Directory、SQL、Access、Oracle、Sharepoint)中的任意一种数据读取到数据表中 然后,用户可能会通过强制转换和每列计算来更改此数据,并将其写入SQL表(用户选择的任何表) 这样做似乎很容易,但用户还必须能够用目标SQL数据库中字段的值替换datatable中的某些字段(查找) 我确实希望在发送到目标数据库之前对datatable执行上述所有操作,但不能重复,因为表结构(源和目标都是未知的,并且不表示特

通用数据导入模块:
我正在将6种数据源类型(CSV、Active Directory、SQL、Access、Oracle、Sharepoint)中的任意一种数据读取到数据表中

然后,用户可能会通过强制转换和每列计算来更改此数据,并将其写入SQL表(用户选择的任何表)

这样做似乎很容易,但用户还必须能够用目标SQL数据库中字段的值替换datatable中的某些字段(查找)

我确实希望在发送到目标数据库之前对datatable执行上述所有操作,但不能重复,因为表结构(源和目标都是未知的,并且不表示特定的业务对象)

tl;dr我需要对任何数据表进行数据转换。这是一个好方法(没有Linq!)


编辑:源表和目标表在结构上是不同的。

我最终为每种数据库类型编写了一个类,所有这些都是一个接口的一部分,并为不同类型的源使用基于DbConnection的GenericConnection

我将过程分为:

  • 进口
  • 转化
  • 写 可以保存并重新打开以供重复使用或编辑的阶段
  • 转换部分包括:

  • 铸造
  • 计算(字符串、整数、十进制、日期、bool)为加、减、除、乘、或、子字符串、替换
  • 查找其他表
  • 直接复制

  • 转换可以排队,这样一列数据在写入目标之前可以通过任意数量与目标匹配。

    每个源是否都有相同的列?如果是,更新数据行有什么问题?好方法-编写特定的DB层逻辑+ADO.NET。@LexRama:这就是我的文章的重点-我正在尝试这是一个很好的方法。你的评论就像对以下问题的回答:【如何购买最好的笔记本电脑?回答:购买笔记本电脑。】