public String delete(String s, String s1, String s2)
{
String s7 =(new StringBuilder()).append("BEGIN TRANSACTION").toString();
int m =executeSql(s7);
String s3 = (new StringBuilder()).append("DELETE FROM DSSB_JF06 where MERCH_NO='").append(s).append("'").append(" and BOC_DATE='").append(s1).append("'").append(" and BANKNO='").append(s2).append("'").toString();
int i = executeSql(s3);
String s4 = (new StringBuilder()).append("DELETE FROM BEPS_JF06 where MERCH_NO='").append(s).append("'").append(" and BOC_DATE='").append(s1).append("'").append(" and BANKNO='").append(s2).append("'").toString();
int j = executeSql(s4);
System.out.println("j======"+j); String s5 = (new StringBuilder()).append("DELETE FROM DSSB_FILECTL where MERCH_NO='").append(s).append("'").append(" and BOC_DATE='").append(s1).append("'").append(" and BANKNO='").append(s2).append("'").toString();
int k = executeSql(s5); if(i==0&&j==0&&k==0)
{
return "success";
}
else
{
String s6=(new StringBuilder()).append("ROLLBACK").toString();
int l=executeSql(s6);
return "failtrue";
}
}代码大概是这样,因为我想要三个表一起删,如果一个表的删除失败就rollback ,可是这个回滚执行不了。不知道怎么办了。请高手指教!
{
String s7 =(new StringBuilder()).append("BEGIN TRANSACTION").toString();
int m =executeSql(s7);
String s3 = (new StringBuilder()).append("DELETE FROM DSSB_JF06 where MERCH_NO='").append(s).append("'").append(" and BOC_DATE='").append(s1).append("'").append(" and BANKNO='").append(s2).append("'").toString();
int i = executeSql(s3);
String s4 = (new StringBuilder()).append("DELETE FROM BEPS_JF06 where MERCH_NO='").append(s).append("'").append(" and BOC_DATE='").append(s1).append("'").append(" and BANKNO='").append(s2).append("'").toString();
int j = executeSql(s4);
System.out.println("j======"+j); String s5 = (new StringBuilder()).append("DELETE FROM DSSB_FILECTL where MERCH_NO='").append(s).append("'").append(" and BOC_DATE='").append(s1).append("'").append(" and BANKNO='").append(s2).append("'").toString();
int k = executeSql(s5); if(i==0&&j==0&&k==0)
{
return "success";
}
else
{
String s6=(new StringBuilder()).append("ROLLBACK").toString();
int l=executeSql(s6);
return "failtrue";
}
}代码大概是这样,因为我想要三个表一起删,如果一个表的删除失败就rollback ,可是这个回滚执行不了。不知道怎么办了。请高手指教!
try
{
conn.setAutoCommit(false);// 更改JDBC事务的默认提交方式delete1();
delete2();
delete3();conn.commit();//提交JDBC事务
conn.setAutoCommit(true);// 恢复JDBC事务的默认提交方式
}
catch(Exception ex)
{
conn.rollBack();//回滚JDBC事务
}
finally
{
conn.close();
}
我是JSP菜鸟,才刚刚开始学不久
问题是,现在我是在别人的平台上面在做。不需要建立连接了。
可以直接操作数据库(看我写的代码)
可是那个ROLLBACK没有效果,就是这个地方不太懂。谢谢。