db_diff.jsp
来自「oa 源码」· JSP 代码 · 共 170 行
JSP
170 行
<%@ page contentType="text/html;charset=utf-8" %>
<%@ page import="cn.js.fan.db.*"%>
<%@ page import="cn.js.fan.web.*"%>
<%@ page import="cn.js.fan.db.Paginator"%>
<%@ page import="cn.js.fan.util.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="cn.js.fan.security.*"%>
<%@ page import="com.redmoon.forum.util.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title><%=Global.AppName%> - <%=Global.server%></title>
<style type="text/css">
<!--
body {
margin-top: 0px;
margin-bottom: 0px;
}
-->
</style>
<link href="css.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
body,td,th {
font-size: 12px;
}
-->
</style>
<link href="index.css" rel="stylesheet" type="text/css">
</head>
<body>
<%
TransmitData td = new TransmitData();
String connName = "zjrj";
ResultSet rs_table_old = td.getTableNames(connName);
ResultSet rs_table_new = td.getTableNames(Global.defaultDB);
ResultSet rs_column_old = null;
ResultSet rs_column_new = null;
String table_old = "";
String table_new = "";
String column_old = "";
String column_new = "";
String add_table = "";
String del_table = "";
String add_column = "";
String change_column = "";
String del_column = "";
boolean table_dif = true;
boolean column_dif = true;
while (rs_table_old.next()){
table_dif = true;
table_old = rs_table_old.getObject(3).toString();
while (rs_table_new.next()){
table_new = rs_table_new.getObject(3).toString();
if(table_old.equals(table_new)) {
Conn conn_old = new Conn(connName);
Connection con_old = conn_old.getCon();
DatabaseMetaData dmd_old = con_old.getMetaData();
rs_column_old = dmd_old.getColumns(null, null, rs_table_old.getObject(3).toString(), null);
Conn conn_new = new Conn(Global.defaultDB);
Connection con_new = conn_new.getCon();
DatabaseMetaData dmd_new = con_new.getMetaData();
rs_column_new = dmd_new.getColumns(null, null, rs_table_new.getObject(3).toString(), null);
// rs_column_old = td.getColumns(rs_table_old.getObject(3).toString(),"forum");
// rs_column_new = td.getColumns(rs_table_new.getObject(3).toString(),"cwbbs");
while (rs_column_old.next()){
column_dif = true;
column_old = rs_column_old.getObject(4).toString();
while (rs_column_new.next()){
column_new = rs_column_new.getObject(4).toString();
if(column_old.equals(column_new)){
// 比对长度
if (rs_column_new.getInt("COLUMN_SIZE")!=rs_column_old.getInt("COLUMN_SIZE")) {
change_column += table_old + "." + column_old + " old size=" + rs_column_old.getObject("COLUMN_SIZE") + " new size=" + rs_column_new.getObject("COLUMN_SIZE") + "<BR>";
}
column_dif = false;
break;
}
}
if(column_dif){
del_column += table_old + "." + column_old + "<BR>";
}
rs_column_new.beforeFirst();
}
rs_column_old.beforeFirst();
rs_column_new.beforeFirst();
while (rs_column_new.next()){
column_dif = true;
column_new = rs_column_new.getObject(4).toString();
while (rs_column_old.next()){
column_old = rs_column_old.getObject(4).toString();
if(column_new.equals(column_old)){
column_dif = false;
break;
}
}
if(column_dif){
add_column += table_new + "." + column_new + "<BR>";
}
rs_column_old.beforeFirst();
}
rs_column_old.close();
rs_column_new.close();
conn_old.close();
conn_new.close();
table_dif = false;
rs_table_new.beforeFirst();
break;
}
}
if(table_dif){
del_table += table_old + " ";
}
rs_table_new.beforeFirst();
/*
ResultSet rs_column = td.getColumns(rs_table_old.getObject(3).toString());
while (rs_column.next()){
out.print(rs_column.getObject(4));
out.print("<br>");
}
*/
}
rs_table_old.beforeFirst();
rs_table_new.beforeFirst();
while (rs_table_new.next()){
table_dif = true;
table_new = rs_table_new.getObject(3).toString();
while (rs_table_old.next()){
table_old = rs_table_old.getObject(3).toString();
if(table_new.equals(table_old)){
table_dif = false;
rs_table_old.beforeFirst();
break;
}
}
if(table_dif){
add_table += table_new + " ";
}
rs_table_old.beforeFirst();
}
out.print("<strong>add_table:</strong><BR>" + add_table);
out.print("<br>");
out.print("<strong>del_table:</strong><BR>" + del_table);
out.print("<br>");
out.print("<strong>add_column:</strong><BR>" + add_column);
out.print("<br>");
out.print("<strong>del_column:</strong><BR>" + del_column);
out.print("<br>");
out.print("<strong>change_column:</strong><BR>" + change_column);
out.print("<br>");
%>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?