在删除一条记录时有可能遇到一条记录已经被关联外键,那就应该将它其中的一个字段单独拿出来做标记,在程序中判断是否被删除,否则就真正的删除它。
使用try{}catch(){}
方法。如果首次删除不成功,系统就会抛出异常,然后转到catch中,在其中的程序段中将其中的一个字段单独来做标记。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| public bool DeleteDevInfo(String deviceID) {
bool delete = false ;
try {
try {
delete = SQLHelper.ExecuteCommon(CommandType.Text, DELETE + DEVICE_ID +deviceID, null ); } catch (Exception e) {
return SQLHelper.ExecuteCommon(CommandType.Text, UPDATE_DEVICEID +DEVICE_ID + deviceID, null ); }
return delete;
} catch (Exception e) { throw new Exception("删除设备台账时失败!"); }
}
|
这里的SQLHelp类似于petShop中的Uility层中的SQLHelp,封装了底层于数据库的交互