DataSet for Directory.GetFiles中的唯一约束违规

时间:2012-09-03 13:17:22

标签: .net windows file-io c#-3.0

以下是我的代码所做的事情:

  1. 使用directory.getFiles()获取与特定模式匹配的文件列表(包括文件扩展名)
  2. 获取此文件列表并将其添加到类型化数据集中的表中。该表在“FileName”上有一个主键。
  3. 最近,该应用程序提供错误:列'FileName'被限制为唯一。值'90219466'已存在。

    怎么会发生这种情况?您不能在同一文件夹中使用相同的文件名两次。

    更多信息 - 有一个批处理文件不断地从不同的源“B”将文件复制到有问题的文件夹“A”。此外,一旦我处理数据集,文件将从“A”中删除。 “B”再次将文件复制到“A”。

1 个答案:

答案 0 :(得分:1)

很抱歉很晚才回复。事实证明,问题在于“输入”。

注意到源文件夹的文件名包含特殊字符,包括上标中的数字。这就是“相同的文件名两次”情况发生的原因。

虽然文件系统将这些视为两个不同的文件,但是拾取文件名的代码只是在没有格式化的情况下查看了文件名,因此假设它看到了两次相同的文件。