📄 4.27.txt
字号:
及联表的删除
方法:先删除从表的相关数据,再删除主表的相关数据。
__________________________________________________________________________
用java语言来实现:
-------------------------------------------------------
/*实现数据库的连接*/
package conn;
import java.sql.Connection;
import java.sql.DriverManager;
public class DBConn {
public static Connection getDBConn()
{
Connection conn=null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection("jdbl:oracle:thin:@127.0.0.1:1521:dbl","scott","tiger");
} catch (Exception e) {
// TODO 自动生成 catch 块
System.out.println("数据库连接失败");
e.printStackTrace();
}
return conn;
}
}
------------------------------------------------------------
/*实现及联表的删除*/
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import vo.CongBiaoVO;
import vo.ZhuBiaoVO;
import conn.DBConn;
public class JLCaoZuo {
/*删除从表的相关数据*/
public int deleteFK(int zid,Connection conn) throws Exception{
Statement st=null;
int flg=0;
String sql=" delete congbiao where zid="+zid+" ";
st=conn.createStatement();
flg=st.executeUpdate(sql);
return flg;
}
/*删除主表的相关数据*/
public int deletePK(int zid){
Connection conn=null;
Statement st=null;
int flg1=0;
int flg2=0;
String sql="delete zhubiao where zid ="+zid + " ";
try {
conn=DBConn.getDBConn();
conn.setAutoCommit(false);
flg1=deleteFK(zid,conn);
st=conn.createStatement();
flg2=st.executeUpdate(sql);
conn.commit();
} catch (Exception e) {
// TODO 自动生成 catch 块
try {
conn.rollback();
} catch (SQLException e1) {
// TODO 自动生成 catch 块
e1.printStackTrace();
}
System.out.println("删除主表失败");
e.printStackTrace();
}finally{
if(flg1==0){System.out.println("删除从表失败");}
try {
conn.setAutoCommit(true);
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
try {
st.close();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
try {
conn.close();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
return flg2;
}
}
----------------------------------------------------
/*判断删除是否成功*/
package bo;
import vo.CongBiaoVO;
import vo.ZhuBiaoVO;
import dao.JLCaoZuo;
public class Business {
public int diaplayDeletePK(int zid){
JLCaoZuo jl1=new JLCaoZuo();
int i=jl1.deletePK(zid);
if(i!=0){
System.out.println("删除成功");
}else{
System.out.println("删除失败");
}
return i;
}
}
-------------------------------------------
/*测试类*/
package test;
import vo.CongBiaoVO;
import vo.ZhuBiaoVO;
import bo.Business;
public class Test {
public static void main(String [] a){
Business b1=new Business();
b1.diaplayDeletePK(9);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -