วันศุกร์ที่ 14 มกราคม พ.ศ. 2554

ตัวอย่าง Class วิธีการดึงชื่อฟิวล์ ชนิด และ ขาด ของตาราง ออกมา

ถ้าเราไม่รู้ว่าใน Table มี ฟิวล์อะไรบ้าง คุณสามารถนำวิธีนี้ไปใช้หาข้อมูลใน Table นั้นได้ครับ

*********************************************************************

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

public class ColumnName {

     
      public static void main(String[] args) throws Exception {
          System.out.println("Getting Column Names  ");
          Connection con = null;
          String url = "jdbc:oracle:thin:@111.11.11.14:1521:TEST01";
          String driver = "oracle.jdbc.driver.OracleDriver";
          String user = "user11";
          String pass = "pass11";
          try{
            Class.forName(driver);
            con = DriverManager.getConnection(url, user, pass);
            try{
              Statement st = con.createStatement();
              ResultSet rs = st.executeQuery("SELECT * FROM billing_account");
              ResultSetMetaData md = rs.getMetaData();
              int col = md.getColumnCount();
              System.out.println("Number of Column : "+ col);
              System.out.println("Columns Name: ");
              for (int i = 1; i <= col; i++){
                String colName = md.getColumnName(i);
                String colType = md.getColumnTypeName(i);
                int displaySize = md.getColumnDisplaySize(i);
                System.out.println(colName+" "+colType+" "+displaySize);
              }
            }
            catch (SQLException s){
              System.out.println("SQL statement is not executed!");
            }
          }
          catch (Exception e){
            e.printStackTrace();
          }finally{
            System.out.println(con.isClosed());
            if(con!=null){
                  con.close();
            }
          }
        }
}


**********  Output *******************

Getting Column Names 
Number of Column : 175
Columns Name:
BAN NUMBER 21
SYS_CREATION_DATE DATE 7
SYS_UPDATE_DATE DATE 7
OPERATOR_ID NUMBER 21
APPLICATION_ID CHAR 6
DL_SERVICE_CODE CHAR 5
DL_UPDATE_STAMP NUMBER 21
ACCOUNT_TYPE CHAR 3
ACCOUNT_CATEGORY CHAR 1
CUSTOMER_ID NUMBER 21
BAN_STATUS CHAR 1
DEFAULT_BEN NUMBER 21
START_SERVICE_DATE DATE 7
TAOFP_IND CHAR 1
FIRST_TOPUP_IND CHAR 1
FP_PASSWORD VARCHAR2 30
false