看代码~!
public boolean delminutia(String id){initConn();
int number;
String asset_stock_id;
String asset_id;
boolean isSuccess=false;
boolean isSuccess1=false;
boolean isSuccess2=false;
//这是得到表里的三个数据
String sql="select ASSET_STOCK_MINUTIA_NUMBER,ASSET_STOCK_ID,ASSET_ID from T_asset_stock_minutia where ASSET_STOCK_MINUTIA_ID=?";
PreparedStatement pstmt=null;
PreparedStatement pstat=null;
PreparedStatement pstbt=null;
try {
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,id);
ResultSet rs=pstmt.executeQuery();
while(rs.next()){
number=rs.getInt(1);
asset_id=rs.getString(2);
asset_stock_id=rs.getString(3);
更新另一张表里的数据,通过求到的number值,和asset_id的值
sql="update T_Asset set asset_number=asset_number-? where asset_id=?";
try {
pstat=conn.prepareStatement(sql);
pstat.setInt(1,number);
pstat.setString(2,asset_id);
pstat.executeUpdate();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
删除另一张表里的一条记录,通过求到的asset_stock_id
sql="delete from T_asset_stock where asset_stock_id=?";
try {
pstbt=conn.prepareStatement(sql);
pstbt.setString(1,asset_stock_id);
pstbt.executeUpdate();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
isSuccess1=true;
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}//下面这条是删除资产明细表里数量的字段
sql="delete from T_asset_stock_minutia where ASSET_STOCK_MINUTIA_ID=?";
try {
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,id);
pstmt.executeUpdate();
isSuccess2=true;
} catch (SQLException e1) {
// TODO 自动生成 catch 块
e1.printStackTrace();
}
if((isSuccess1==true)&&(isSuccess2==true))
isSuccess2=true;
return isSuccess;
}
我这个代码块里有问题,希望大家看到了能指点一下,我更新和删除都无法实现,尔后面的删除可以实现。注:那三个数据绝对是有的。在线等!