⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transmitdata.java~17~

📁 云网论坛CWBBS 源码,内容丰富,学习,参考,教学的好资料,具体见内说明,
💻 JAVA~17~
📖 第 1 页 / 共 2 页
字号:
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 + -