import java.sql.*;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.Driver;

import java.sql.SQLException;



public class Bdd{
	Connection conn;
	ResultSet rs;
	public void connection(){
		try{
		    Class.forName("org.postgresql.Driver");
		    String url = "jdbc:postgresql://localhost:5432/postgres";
		    conn = DriverManager.getConnection(url, "postgres" , "lexbuf");
		}
		catch(Exception e) {
		    e.printStackTrace();
		}
	}
	
	public void requete(String r){
		try{
			Statement st = conn.createStatement();
			rs = st.executeQuery(r);
		}
		catch(Exception e) {
		    e.printStackTrace();
		}
	}
	
	public static void afficher(ResultSet rs){
		try{
			ResultSetMetaData metadata = rs.getMetaData();
			int cols = metadata.getColumnCount();
			for(int i = 1 ; i <= cols ; i++){
				System.out.print(metadata.getColumnName(i)+"("+metadata.getColumnTypeName(i)+")"+"\t|");
			}
			System.out.println();
			while(rs.next()){
				for(int i = 1 ; i <= cols ; i++){
					if(rs.getObject(i)!=null)
					System.out.print((rs.getObject(i)).toString()+"\t\t\t\t|");
				}
				System.out.println();
			}
		}
		catch(Exception e){
			e.printStackTrace();
		}
	}
	
    public static void main(String [] args){
    	try{
    		Bdd a = new Bdd();
    		a.connection();
    		a.requete("select * from personne");
	    	afficher(a.rs);
	    }
		catch(Exception e) {
		    e.printStackTrace();
		}
    }
}

