0

此代码是错误的:

给定的 ColumnMapping 与源或目标中的任何列都不匹配。

我有检查列是否为空,但不起作用。

using (var bulkCopy = new SqlBulkCopy(destinationConnection))
{

    //THIS A MAPPING REPLACET WITH YOUR NEED
    for (int i = 0; i <18; i++)
    {
        if (datagridaddfield.Rows[i].Cells[1].Value != null)
        {
            bulkCopy.ColumnMappings.Add(datagridaddfield.Rows[i].Cells[0].Value.ToString(), datagridaddfield.Rows[i].Cells[1].Value.ToString());
            bulkCopy.DestinationTableName = "profile2";
            [...]

我要程序检查这一行if (datagridaddfield.Rows[i].Cells[1].Value != null) ,但程序不检查!

4

1 回答 1

0

问题是您将错误的参数传递给ColumnMappings.Add. 您现在正在做的是传递对列映射没有意义的单元格值。应将其中一个重载传递给映射的列索引。您也可以使用列名。查看SqlBulkCopyColumnMappingCollection.Add 方法

于 2013-04-17T14:37:49.307 回答