Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import java.sql.Connection;
import java.sql.DataTruncation;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLWarning;
import java.sql.Statement;

public class Main {
    public static void main(String[] args) throws Exception {
        Connection conn = getConnection();
        conn.setAutoCommit(false);
        Statement stmt = conn.createStatement();

        stmt.executeUpdate("create table survey (id int, name CHAR(5) );");

        stmt.executeUpdate("INSERT INTO survey(id, name)VALUES(111, '123456789')");

        displayError(stmt.getWarnings());
        // try to write more data for the name column.
        displayError(stmt.getWarnings());

        // since there were no errors, commit
        conn.commit();

        ResultSet rs = stmt.executeQuery("SELECT * FROM survey");
        outputResultSet(rs);

        rs.close();
        stmt.close();
        conn.close();
    }

    public static void displayError(DataTruncation dataTruncation) {
        if (dataTruncation != null) {
            System.out.println("Data truncation error: ");
            System.out.println(dataTruncation.getDataSize() + " bytes should have been ");
            if (dataTruncation.getRead()) {
                System.out.println("Read (Error:) ");
            } else {
                System.out.println("Written (Error:) ");
            }
            System.out.println(dataTruncation.getTransferSize() + " number of bytes of data actually transferred.");
        }
    }

    public static void displayError(SQLWarning warning) {
        while (warning != null) {
            if (warning instanceof DataTruncation) {
                displayError((DataTruncation) warning);
            } else {
                System.out.println(" Warning: " + warning.getMessage());
            }
            warning = warning.getNextWarning();
        }
    }

    private static void outputResultSet(ResultSet rs) throws Exception {
        ResultSetMetaData rsMetaData = rs.getMetaData();
        int numberOfColumns = rsMetaData.getColumnCount();
        for (int i = 1; i < numberOfColumns + 1; i++) {
            String columnName = rsMetaData.getColumnName(i);
            System.out.print(columnName + "   ");

        }
        System.out.println();
        System.out.println("----------------------");

        while (rs.next()) {
            for (int i = 1; i < numberOfColumns + 1; i++) {
                System.out.print(rs.getString(i) + "   ");
            }
            System.out.println();
        }

    }

    private static Connection getConnection() throws Exception {
        Class.forName("org.hsqldb.jdbcDriver");
        String url = "jdbc:hsqldb:mem:data/tutorial";

        return DriverManager.getConnection(url, "sa", "");
    }
}