【问题标题】:Unique constraint violation in DataSet for Directory.GetFilesDirectory.GetFiles 的 DataSet 中的唯一约束冲突
【发布时间】:2012-09-03 13:17:22
【问题描述】:

这是我的代码的作用:

  1. 使用 directory.getFiles() 获取与特定模式匹配的文件列表(包括文件扩展名)
  2. 获取此文件列表并将其添加到类型化数据集中的表中。该表在“文件名”上有一个主键。

最近,应用程序给出了错误:列“文件名”被限制为唯一。值“90219466”已存在。

这怎么可能发生?同一个文件夹中不能有两次相同的文件名。

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

【问题讨论】:

  • 你能发布一些代码吗?在移动文件之前如何加载此数据集?如果是这样,则位置 B 上已存在同名的机会文件(来自先前的移动之一)...

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


【解决方案1】:

很抱歉回复晚了。事实证明,问题出在“输入”上。

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

虽然文件系统将它们视为两个不同的文件,但获取文件名的代码只是查看文件名而不进行格式化,因此假设它两次看到相同的文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    • 2015-04-22
    • 1970-01-01
    • 2017-04-15
    • 2014-09-07
    • 2021-05-25
    • 1970-01-01
    相关资源
    最近更新 更多