C#中的价值对话

时间:2014-07-24 08:04:10

标签: c# datatable

我想将一个数据表的col值分配给同一个数据表的另一个col 像:

objdt.Rows[i]["mr_discrepancy_cd1s"].ToString()=objdt.Rows[i["mr_discrepancy_cd1"].ToString();

我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

我们可以使用Ordinal属性从DataTable中的列中获取索引,我们可以按如下方式替换值:

objdt.Rows[i][objdt.Columns["ColumnName"].Ordinal] = objdt.Rows[i][objdt.Columns["ColumnName"].Ordinal]

objdt.Rows[i][objdt.Columns[objdt.Columns[1].ColumnName].Ordinal] =
                    objdt.Rows[i][objdt.Columns[objdt.Columns[2].ColumnName].Ordinal]

答案 1 :(得分:0)

试试这个

objdt.Rows[i]["mr_discrepancy_cd1s"] =objdt.Rows[i]["mr_discrepancy_cd1"];

答案 2 :(得分:0)

不要使用ToString,它会将每个值转换为字符串,即使它之前不是字符串。这将改变类型,甚至可以更改数据。如果数据行中的列为null,它也会爆炸。

而是使用强类型Field extension method,它也支持nullables。

假设在这种情况下它确实是string

DataRow row = objdt.Rows[i];
string mr_discrepancy_cd1 = row.Field<string>("mr_discrepancy_cd1");
row.SetField("mr_discrepancy_cd1s", mr_discrepancy_cd1);