使用struts和torque删除数据库中的所有行



我需要删除数据库中的多行。

数据在Tariff表中,该表包括另一个表的(vehicle)主键。

假设我删除了一个vehicle表数据,那么与tariff表中特定id相关的数据也会被删除。

我试过了,如果tariff包含两个以上与vehicle相关的行,我需要删除这些行,并删除tariff表中的第一个行,则不会删除其他行。

这是一个代码:

Vehicle vehicle = VehiclePeer.doSelectFirst(c);
if (vehicleName != null && !vehicleName.equals(""))
{                   
  c.clear();
  c.add(TariffPeer.VEHICLE_ID, vehicle.getId());
  Tariff tariff = (Tariff) TariffPeer.doSelectAll();
  if (tariff != null && !tariff.equals(""))
  {
    TariffParamsPeer.doDelete(c.add(TariffParamsPeer.TARIFF_ID, tariff.getId()));
    TariffPeer.doDelete(tariff);
  }
}

请帮我解决这个问题,提前谢谢。

您需要编写一个方法,为给定的vheicleId返回一组Tariff。并按照以下重写代码

Vehicle vehicle = VehiclePeer.doSelectFirst(c);
if (vehicleName != null && !vehicleName.equals("")) {                    
  c.clear();
  c.add(TariffPeer.VEHICLE_ID,vehicle.getId());
  Set<Tariff> tarrifSet = TariffPeer.doSelectAll(vehicle.getId());
  for (Tariff tariff: tarrifSet) { 
    if (tariff !=null && !tariff.equals("")) {       
      c.add(TariffParamsPeer.TARIFF_ID, tariff.getId());
      TariffPeer.doDelete(tariff);
    }
  }
} 

相关内容

  • 没有找到相关文章

最新更新