📄 transmitdata.java~14~
字号:
package com.redmoon.forum.util;
import cn.js.fan.base.ObjectDb;
import cn.js.fan.db.*;
import cn.js.fan.util.ErrMsgException;
import java.sql.*;
import cn.js.fan.web.Global;
import javax.servlet.jsp.JspWriter;
import java.io.IOException;
import cn.js.fan.util.StrUtil;
import java.util.Vector;
import java.util.Hashtable;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class TransmitData extends ObjectDb {
public int id;
public TransmitData() {
connname = Global.defaultDB;
}
public TransmitData(int id) {
this.id = id;
init();
load();
}
public TransmitData getTransmitData(int id) {
return (TransmitData) getObjectDb(new Integer(id));
}
public ObjectDb getObjectRaw(PrimaryKey pk) {
return new TransmitData(pk.getIntValue());
}
public void initDB() {
primaryKey = new PrimaryKey("id", PrimaryKey.TYPE_INT);
isInitFromConfigDB = false;
}
public boolean save() throws ErrMsgException {
return true;
}
public void load() {
}
public boolean del() throws ErrMsgException {
return true;
}
public boolean create() throws ErrMsgException {
return true;
}
/**
* 数据表的结构
* */
public Vector getTableStruct(String table)
{
Conn conn = new Conn(connname);
Connection con = conn.getCon();
Vector vect = new Vector();
try{
/*
* rs = QuerySQL("select * from "+table);
* ResultSetMetaData rmd =rs.getMetaData();
* int cols = rmd.getColumnCount();
* for(int i=1;i <=cols;i++)
* {
* Hashtable hash = new Hashtable();
* //hash.put("目录名",rmd.getCatalogName(i));
* //hash.put("列返回值类型名",rmd.getColumnClassName(i));
* hash.put("列定义大小",rmd.getColumnDisplaySize(i)+"");
* //hash.put("列标签",rmd.getColumnLabel(i));
* hash.put("字段名",rmd.getColumnName(i));
* hash.put("列类型编号",rmd.getColumnType(i)+"");
* hash.put("列标准类型名",rmd.getColumnTypeName(i));
* hash.put("列精确度",rmd.getPrecision(i)+"");
* //hash.put("10",rmd.getScale(i)+"");
* //hash.put("11",rmd.getSchemaName(i));
* //hash.put("表名",rmd.getTableName(i));
* //hash.put("13",rmd.isAutoIncrement(i)+"");
* //hash.put("大小写敏感",rmd.isCaseSensitive(i)+"");
* //hash.put("是否为金额",rmd.isCurrency(i)+"");
* //hash.put("是否可写",rmd.isDefinitelyWritable(i)+"");
* hash.put("是否可为空",rmd.isNullable(i)+"");
* //hash.put("是否只读",rmd.isReadOnly(i)+"");
* //hash.put("是否可查询",rmd.isSearchable(i)+"");
* hash.put("是否数字",rmd.isSigned(i)+"");
* //hash.put("是否可写",rmd.isWritable(i)+""); vect.add(hash); }
*/
DatabaseMetaData dmd = con.getMetaData();
ResultSet rs = dmd.getColumns(null, "XNC", table.toUpperCase(), null);
ResultSetMetaData rmd = rs.getMetaData();
int cols = rmd.getColumnCount();
System.out.println(cols + "gggHHH");
while (rs.next())
{
Hashtable hash = new Hashtable();
hash.put("列定义大小", rs.getString("CHAR_OCTET_LENGTH") + "");
String f = rs.getString("COLUMN_NAME");
ResultSet r = conn.executeQuery("select " + f + " from " + table);
ResultSetMetaData rm = r.getMetaData();
hash.put("字段名", f + "");
System.out.println(f + "");
hash.put("列类型编号", rm.getColumnType(1) + "");
hash.put("列标准类型名", rm.getColumnTypeName(1) + "");
hash.put("是否可为空", rm.isNullable(1) + "");
hash.put("是否数字", rm.isSigned(1) + "");
hash.put("列定义大小", rm.getColumnDisplaySize(1) + "");
hash.put("列精确度", rs.getString("NUM_PREC_RADIX") + "");
r.close();
Statement stst = r.getStatement();
if (stst != null)
stst.close();
vect.add(hash);
}
Statement stmt = rs.getStatement();
rs.close();
if (stmt != null)
stmt.close();
System.out.println("____" + vect);
} catch (SQLException sqle){
System.out.println("调用DataBase.getTableStruct()函数错误:\r\n" + sqle);
} catch (AbstractMethodError e){
System.out.println("调用DataBase.getTableStruct()函数错误:\r\n" + e);
}
return vect;
}
public ResultSet getTableNames() throws SQLException {
Conn conn = new Conn(connname);
Connection con = conn.getCon();
DatabaseMetaData dmd = con.getMetaData();
ResultSet rs = dmd.getTables(null, null, null, new String[] {"TABLE"});
if (rs != null) {
return rs;
} else {
return null;
}
}
public ResultSet getTableNames(String conName) throws SQLException {
Conn conn = null;
conn = new Conn(conName);
Connection con = conn.getCon();
DatabaseMetaData dmd = con.getMetaData();
ResultSet rs = dmd.getTables(null, null, null, new String[] {"TABLE"});
if (rs != null) {
return rs;
} else {
return null;
}
}
public ResultSet getColumns(String tableName,String conName) throws SQLException {
Conn conn = new Conn(conName);
Connection con = conn.getCon();
DatabaseMetaData dmd = con.getMetaData();
ResultSet rs = dmd.getColumns(null, null, tableName, null);
if (rs != null) {
return rs;
} else {
return null;
}
}
public ResultSet getColumns(String tableName) throws SQLException {
Conn conn = new Conn(connname);
Connection con = conn.getCon();
DatabaseMetaData dmd = con.getMetaData();
ResultSet rs = dmd.getColumns(null, null, tableName.toUpperCase(), null);
if (rs != null) {
return rs;
} else {
return null;
}
}
public void mysqlToOra(JspWriter out) throws ErrMsgException, SQLException, IOException {
Conn conn_mysql = new Conn(connname);
PreparedStatement pstmt_mysql = null;
Conn conn_ora = new Conn("xnc");
PreparedStatement pstmt_ora = null;
ResultSet rs_table = null;
ResultSet rs_column = null;
ResultSet rs = null;
String sql_select = "";
String sql_insert = "";
String tableName = "";
String columns = "";
String columnValues = "";
int[] columnType = null;
try {
conn_ora.beginTrans();
rs_table = getTableNames();
while (rs_table.next()) {
columns = "";
columnValues = "";
tableName = rs_table.getObject(3).toString(); //获得表名
if (tableName.toLowerCase().equals("yearcount") || tableName.toLowerCase().equals("monthcount") || tableName.toLowerCase().equals("lastly") || tableName.toLowerCase().equals("daycount")) // 表的列名为数字,oracle中非法
continue;
//sql_insert:insert into lastly (BC,OS,IP,Date) values (?,?,?,?)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -