问题描述
做一个明细表中的新建、修改与删除的功能,该明细表新建后需要维护,可能新建数据或删除数据,假如现在得到界面传回的数据ID是:1、2、25、46;先得到数据库这条主表数据的ID下所有的数据信息如下,放在list中;得到SQL数据为:1、25、46,通过下列语句得到后放到list中List<Rkmx> listRkMX = rkdMXDAO.GetRKMXInfo(" where pz_id=" + pz_id); 知道多了一条ID为2的数据,这个怎么进行循环比对
解决方案
用List存放界面返回的ID,然后遍历数据库查询结果的ID列表,直接通过API的removeAll把数据库的所有ID都删除掉。
解决方案二:
没太明白你什么意思,如果 是找两个 序列的差异的话,先排序然后递进比较就行而且从你的题目来看,第一个从界面传回来的,可以直接在浏览器排序,不耗服务器性能,第二个可以在查询语句直接加个order by应该问题也不大
解决方案三:
同意楼上的,如果你界面传回的信息包含所有信息,直接先删除所有的ID为这些的数据,然后在插入。你如果按照ID比较的话,不可能知道这些数据变化没有,你还得去修改。所以删除,插入就很好了。
时间: 2024-08-01 02:40:41