当前位置:编程学习 > C#/ASP.NET >>

请问大家是更新这类型的数据的 1,2,3,4,5

[A表]   [B表]   [A-B关系表]
Id..... Id..... Id,A.Id,B.Id

[A-B关系表]是多对多的关系

在页面上提交的数据是这样的
A.Id
{1}
B.Id,B.Id,B.Id,B.Id,B.Id,B.Id
{1,2,3,4,5,6,7,8}

一般的做法是传1,2,3,4,5,6,7到数据库中,然后按逗号分割,若记录存在则更新,不存在则创建。

请问大家遇到这类型操作的时候,是喜欢在页面中ajax操作,每次只操作一个A.Id和B.Id的组合
还是A.Id 和多个B.Id一起提交来处理的 --------------------编程问答-------------------- 必须一起提交,一起处理,否则效率太低了 --------------------编程问答-------------------- 当然是一起呗。 --------------------编程问答-------------------- 因为实际上业务的数据是这样的,当页面的B.Id更改后,
那么,提交的数据库后,
有两种方式处理
1.把旧的记录全部删除。然后按照新的来插入

2.将旧的和新的对比,然后对应更新或者插入、或者删除

第二种相对比较麻烦

请问大家是怎么选择的 --------------------编程问答-------------------- 如果更新的不多的话,先删除,再建立会不会不好 --------------------编程问答-------------------- 更新旧记录不是可以用SQL的update语句吗 --------------------编程问答--------------------
引用 4 楼 zeroczh 的回复:
如果更新的不多的话,先删除,再建立会不会不好


看你是需要怎样的更新了、如果更新的时候需要王关系表中增加的话,那么就先删除在添加咯,当然是数据流不大的时候,如果数据量大,就直接先添加所有关系,加个  flag 字段,update 有效或者 无效就可以了。 --------------------编程问答-------------------- 传值操作,还是一个 a.id 对应 多个 b.id 好点,用JS实现是客户端的吧?根服务器又没有关系。 --------------------编程问答--------------------
引用 7 楼 Scorip 的回复:
传值操作,还是一个 a.id 对应 多个 b.id 好点,用JS实现是客户端的吧?根服务器又没有关系。


嗯嗯,传值是js方面的,但是到了数据库后,
不知道怎么权衡
1.先全部删除,再插入
2.旧的记录或新的记录对比,进行更新,插入,删除
3.循环旧的记录,不过怎样,旧的记录按照新的去更新,新的多出的部分就删除。如果是旧的比新的多,那么旧记录多出的就删除
--------------------编程问答--------------------
引用 8 楼 zeroczh 的回复:
引用 7 楼 Scorip 的回复:传值操作,还是一个 a.id 对应 多个 b.id 好点,用JS实现是客户端的吧?根服务器又没有关系。

嗯嗯,传值是js方面的,但是到了数据库后,
不知道怎么权衡
1.先全部删除,再插入
2.旧的记录或新的记录对比,进行更新,插入,删除
3.循环旧的记录,不过怎样,旧的记录按照新的去更新,新的多出的部分就删除。如果是旧的比……


你觉得你的 1.2.3 那一个要的操作多?或者说哪一个麻烦?然后你觉得如果你是 数据库 你会做麻烦还是简单的。。 --------------------编程问答--------------------
引用 9 楼 Scorip 的回复:
引用 8 楼 zeroczh 的回复:引用 7 楼 Scorip 的回复:传值操作,还是一个 a.id 对应 多个 b.id 好点,用JS实现是客户端的吧?根服务器又没有关系。

嗯嗯,传值是js方面的,但是到了数据库后,
不知道怎么权衡
1.先全部删除,再插入
2.旧的记录或新的记录对比,进行更新,插入,删除
3.循环旧的记录,不过怎样,旧的记录按照新的去更……

数据量过 十万 就要另外考虑了。。美国,,基本什么什么性能的没多大影响。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,