
import java.sql.*;
import java.io.*;
import java.awt.*;
import java.net.*;
import java.util.*;
import java.text.*;

public class Ncr2Htm_01 {
	String[] finText = null;
	Vector fulV = new Vector();

	String dtStg	= getDateStg();
	String tmpStg;
	String outnmStg	= "NCR_Index_" +dtStg + ".htm";

	String htbd		= "<html><head><title>NCR_"+dtStg+"</title></head><body>";
	String bdht		= "</body></html>";

	String tdes		= "</td><td>";
	String tbls		= "<table border=\"1\"><tr><td>";
	String tble		= "</td></tr></table>";
	String tdres	= "</td></tr><tr><td>";

	public static void main(String[] args) {
		new Ncr2Htm_01();
	}

	public Ncr2Htm_01() {
		try {
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			String filename = "./tst_NCR.mdb";
			String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
			database+= filename.trim() + ";DriverID=22;READONLY=true}";
			Connection db_connection = DriverManager.getConnection( database ,"","");
			Statement db_statement = db_connection.createStatement();

			fulV.addElement( htbd );

			ResultSet result = db_statement.executeQuery("select * from NCR");

			fulV.addElement( tbls );		// <table border="1"><tr><td>
			displayResultSet (result);
			fulV.addElement( tble+"<br>" );	// </td></tr></table>

			ResultSet result2 = db_statement.executeQuery("select * from Index");

			fulV.addElement( tbls );		// <table border="1"><tr><td>
			displayResultSet (result2);
			fulV.addElement( tble );		// </td></tr></table>

			fulV.addElement( bdht );

			finText = new String[ fulV.size() ];
			fulV.copyInto( finText );
			SaveSelected( outnmStg );

			db_connection.close();
		}
		catch (Exception e) {
			System.out.println("1) Error: " + e);
		}
	}

	public void displayResultSet(ResultSet resultSet) throws SQLException {
		int i;
		ResultSetMetaData resultSetMetaData = resultSet.getMetaData ();
		int numCols = resultSetMetaData.getColumnCount ();

		for (i=1; i<=numCols; i++) {
			fulV.addElement(resultSetMetaData.getColumnLabel(i));
			if ( numCols != i )
				fulV.addElement( tdes );		// </td><td>
		}

		while (resultSet.next()) {
			fulV.addElement( tdres );			// </td></tr><tr><td>
			for (i=1; i<=numCols; i++) {
				tmpStg = resultSet.getString(i);
				fulV.addElement(tmpStg);
				if ( numCols != i )
					fulV.addElement( tdes );	// </td><td>
			}
		}
	}

	public void SaveSelected( String open_outnm ) {
		try {
			PrintStream expfl = new PrintStream(new FileOutputStream(open_outnm));
			for (int j = 0; j < finText.length; j++) {
				if ( finText[j] != "" ) { expfl.println( finText[j] ); }
			}
			expfl.flush();
			expfl.close();
		} catch(java.io.IOException IOEx) {
			System.out.println("Cannot create " + open_outnm + " file.");
		}
	}

	public String getDateStg() {
		SimpleDateFormat df = new SimpleDateFormat ("MMddyy_HHmmss", Locale.getDefault());
		java.util.Date tm = new java.util.Date();
		String dtStg = df.format(tm);

		return dtStg;
	}
}

