C#/ SQL检查重复的条目

时间:2011-11-14 10:55:09

标签: c# duplicates

我正在开展一个项目,而且我遇到了一堵砖墙。我的代码将类型的日期添加到数据库中,但是当代码中已存在类似条目时,我需要创建错误。但是,我不能让我的循环检查重复,而是添加重复!我不是很擅长循环,所以我有点卡住了。任何帮助检查重复条目并阻止它创建太多将是一个很大的帮助!在此文本区域中更改了我的代码,因此它与变量名称不完全相同。

这是我的代码: -

if (DT != null && DT.Length > 0 || DF != null && DF.Length > 0)
            {
                for (int t = 0; t < Type.Length; t++)
                {
                    DateTime checkDate;

                    if (Type.IsSelectionValid(8, out typeError) && DateTime.TryParse(DF, out typeError) && DateTime.TryParse(DT, out checkDate))
                    {
                            TypeValid = true;
                            error.Error = false;
                        }
                        else
                        {
                            error.Errors = "Type-Invalid";
                            absenceTypeValid = false;
                            break;
                        }
                    }
                    else
                    {
                        error.Errors = "Type-Duplicate";
                        TypeValid = false;
                        break;
                    }
                }
            }

1 个答案:

答案 0 :(得分:2)

我相当'确定你是不是想让问题比这里更困难,但我不能肯定地说,因为我不完全确定这是在做什么。

但是,以下是进入“类型 - 重复错误”行所需的条件:

1)DT或DF必须为空才能超过第一个if语句

2)IsSelectionValid()必须返回false或者DT或DF必须是无效的DateTime。

这些都不构成重复。

让我试着解释一下我在这里看到的内容:

我首先看到名为DT,DF的变量。我可以看到这些是日期,但这就是我所知道的。我看到'Type',我对DT和DF的了解甚至更少。我看到你正在为Type.Length迭代次数做一个循环......但是如果我不知道Type是什么,这对我意味着什么呢?

如果你有评论解释我可以帮助你的东西,但是真的没有足够的信息来了解这里发生了什么。

如果您只是想知道如何避免向数据库添加重复项,那么我建议在数据库中的列中添加约束或索引,然后您可以捕获尝试插入时引发的异常复制并以这种方式处理它。或者,在插入语句中对其进行说明。