Database Java Tutorial

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Main {
  public static void main(String[] args) throws Exception {
    try {
      Connection conn = getConnection();
      Statement st = conn.createStatement();
      st.executeUpdate("create table survey (id int,myDate DATE );");
      String INSERT_RECORD = "insert into survey(id, myDate) values(?, ?)";
      PreparedStatement pstmt = conn.prepareStatement(INSERT_RECORD);
      pstmt.setString(1, "1");
      java.sql.Date sqlDate = new java.sql.Date(new java.util.Date().getTime());
      pstmt.setDate(2, sqlDate);
      pstmt.executeUpdate();
      ResultSet rs = st.executeQuery("SELECT * FROM survey");
      rs.close();
      st.close();
      conn.close();
    } catch (SQLException e) {
      while (e != null) {
        String errorMessage = e.getMessage();
        System.err.println("sql error message:" + errorMessage);
        // This vendor-independent string contains a code.
        String sqlState = e.getSQLState();
        System.err.println("sql state:" + sqlState);
        int errorCode = e.getErrorCode();
        System.err.println("error code:" + errorCode);
        // String driverName = conn.getMetaData().getDriverName();
        // System.err.println("driver name:"+driverName);
        // processDetailError(drivername, errorCode);
        e = e.getNextException();
      }
    }
  }
  private static Connection getConnection() throws Exception {
    Class.forName("org.hsqldb.jdbcDriver");
    String url = "jdbc:hsqldb:mem:data/tutorial";
    return DriverManager.getConnection(url, "sa", "");
  }
}