/*
package extract.SCA_API/**************************************************************************
//	
//	파일명 : SQLEtc.java
//	기능 : 자바 클래스 내의 Select문을 제외한 SQL문 분석 정보를 제공해 주는 클래스
//	작성일 : 
//
***************************************************************************/

package extractor.SCA_API;


import java.io.*;
import java.util.*;
import java.sql.*;

public class SQLEtc
{
	public String fileName = null;
	public int row_num;
	public String sql_id[];
	public String sql_type[];

	Statement stmt = null;
	String query1 = null;
	String query2 = null;

// 생성자 메소드
	public SQLEtc(){
		DBConnection dbCon = new DBConnection();
		stmt = dbCon.createStatement();
		query1 = "select * from tq_etcxxx";
		query2="SELECT SQL_ID FROM TQ_ETCXXX";
		
		try{
			ResultSet rs1 = stmt.executeQuery(query1);

			// select되는 행의 갯수를 알기 위한 Statement와 ResultSet객체 생성
			Statement stmt2 = dbCon.createStatement();
			ResultSet rs2 = stmt2.executeQuery(query2);

			// 행 갯수 카운팅
			int iCount=0;
			while(rs2.next())
			{
				iCount++;
			}
			rs2.close();

			// DB에 저장된 sql_id와 sql_type을 저장하기위한 배열 정의
			sql_id = new String[iCount];
			sql_type = new String[iCount];

			// 질의된 결과를 담은 ResultSet객체의 MetaData 정보를 담을 수 있는 MetaData 변수 선언
			ResultSetMetaData md = rs1.getMetaData();

			// rs1 객체의 컬럼 갯수 파악
			int col_count = md.getColumnCount();
			int row = 0;
			int j = 0;

			while (rs1.next()){
				//System.out.print("\nRow: " + ++row  + "\t");
				
				for (int i = 1;i<=col_count ;i++ )
				{
						//System.out.print(rs1.getString(md.getColumnName(i)) + ", \t");
						if (i == 1 ){
							sql_id[j] = rs1.getString(md.getColumnName(i));
						}else{
							sql_type[j] = rs1.getString(md.getColumnName(i));
						}
				}
				j++;
			}

		}catch(SQLException ex){
				System.err.println("SQL문에 에러가 있습니다.\n" + ex.getMessage());
			}
	}

// fileName을 받아서 SQLID[]을 리턴해 주는 메소드

	public String[] getSQLID(String fileName){

		return sql_id;
	}
	
// sql_id[]를 받아서 sql_type[]을 리턴해 주는 메소드

	public String[] getSQLType(String[] sql_id){

		return sql_type;
	}

	// SQLEtc API 기능 확인을 위한 자체 메인함수
	// sql_id[], sql_type[] 값 출력
	public static void main(String[] args) 
		{
			String fileName = null;

			SQLEtc sqlEtc = new SQLEtc();
			String[] sqlID = sqlEtc.getSQLID(fileName);
			String[] sqlType = sqlEtc.getSQLType(sqlID);
			System.out.println();
			for (int i =0; i < sqlType.length ; i++ )
			{
				System.out.println("sqlID : " + sqlID[i] + ", \t" + "sqlType : " + sqlType[i]);
			}

		}

}