C#的最佳方法

时间:2009-12-17 00:13:46

标签: c#-2.0

我有一个来自复选框列表(已选中)的ID集合,例如:1,2,3,4,5

在我的数据库中,我要说:3,4,6

现在,我的方法是:

1. Delete: 3, 4, 6 on the database
2. Add: 1, 2, 3, 4, 5

如果它是小记录,现在就可以了。

最好的方法是分开:

1. A new record: 1, 2
2. Current record: 3, 4
3. deleted record: 6

因此:

(1) Insert a new record on teh databsae
(2) Leave it
(3) Delete the record

这是最好的方法吗?

由于

4 个答案:

答案 0 :(得分:1)

我们在这里谈论了多少条记录?你的第一种方法可能是最容易和最快的,甚至可以达到相当大的记录集。

另一种选择是使用一个查询来下拉整个记录集。使用代码找出需要插入,更新或删除的内容,然后在事务中提交更改。

答案 1 :(得分:1)

这可能不是最漂亮的解决方案,但我认为你可以坚持使用旧的解决方案。这背后的原因是你的页面永远不会有很多复选框(数百个)。

答案 2 :(得分:1)

我认为您担心必须转移的数据量?

您的简单方法需要'全部删除',这是一个恒定的数据传输量(您不需要确切知道哪些行已经存在),然后发送新列表的总长度。

您更复杂的方法首先要求您从数据库中获取所有记录,或者将所有记录发送到数据库并让数据库告诉您区别。然后,您需要三个单独的命令来更新数据库。与简单方法相比,这是更多的数据传输。

另一方面,如果您的行具有外键约束,删除它们并创建新行可能会为它们提供新ID,这可能会破坏某些约束并导致其他问题。

第一种方法肯定更简单。除非您想避免更改行ID,否则请使用它。

答案 3 :(得分:0)

删除所有上一个并添加1,2,3,4,5 容易和故障安全;)