【发布时间】:2014-03-01 00:17:47
【问题描述】:
我有一个列表视图控件,其中填充了从 SQL 语句返回的记录。字段可能类似于:
SSN------|NAME|DATE----|TIME--|SYS
111222333|Bell|20140130|121507|P
123456789|John|20140225|135000|P
123456789|John|20140225|135002|N
“重复”是从 ChangeLog 生成的,例如地址更改。然而,由于糟糕的数据库设计,我无法控制,如果成员恰好是 SYS 的成员,地址更改将创建 2 条记录。
在我的列表视图中遍历每条记录的最佳方法是什么,找到 SSN 和 DATE 的重复值(如果人是两者的成员,则可以为 SYS 生成一条记录),并删除具有较低TIME 值的重复值?
我正在尝试做一个基于代码的解决方案而不是 SQL,因为真正的 SQL 语句已经非常复杂,而且这个应用程序只需要维护到 10 月。
【问题讨论】:
-
更改 SQL 查询不是更好吗?
-
ListView 是一个 UI 控件,不能用于操作数据。你为什么首先返回重复项?你在 SQL 中问过同样的问题,但你没有接受有效的答案。
-
SQL Query 与用作示例的相比已经非常复杂。 @Blam,我不确定您在 SQL 中指的是什么,但这是一个不同的问题。由于糟糕的数据库设计无法也不会很快得到纠正,因此返回了重复项。我只是在寻找通过代码解决问题的最佳途径的想法。
-
Manipulate ListView 不是最好的路线。最好的方法是不返回重复项。与这个问题无关? stackoverflow.com/questions/22045416/…
-
@Blam,我知道这不是最好的路线。但鉴于我在 SQL 方面的经验,我相信基于代码的解决方案将提供更高的可维护性,直到 10 月份这个特定的应用程序将被废弃。至于你提到的问题,我想类似的问题,不同的结局。该问题围绕 TIMEC 字段的数据转换展开。这些值没有对齐,导致我在应用程序中的打印计数偏离了方向。所有这一切都源于糟糕的数据库设计,即为 2 个独立的系统保留表,这种设计早在我来到这里之前就已实施,而且不太可能很快改变。
标签: c# .net listview duplicates listviewitem